diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index 36ed1317..1598bdbb 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -13,7 +13,6 @@ import ( "sort" "strconv" "strings" - "sync" "unicode" "unicode/utf8" @@ -43,1310 +42,11349 @@ var g = &grammar{ pos: position{line: 28, col: 9, offset: 515}, name: "AttributeDeclaration", }, - &ruleRefExpr{ - pos: position{line: 29, col: 11, offset: 546}, - name: "AttributeReset", + &actionExpr{ + pos: position{line: 364, col: 19, offset: 11171}, + run: (*parser).callonDocumentRawLine6, + expr: &seqExpr{ + pos: position{line: 364, col: 19, offset: 11171}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 364, col: 19, offset: 11171}, + val: ":!", + ignoreCase: false, + want: "\":!\"", + }, + &labeledExpr{ + pos: position{line: 364, col: 24, offset: 11176}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine10, + 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: 364, col: 45, offset: 11197}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 364, col: 49, offset: 11201}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine17, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine20, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 366, col: 9, offset: 11292}, + run: (*parser).callonDocumentRawLine27, + expr: &seqExpr{ + pos: position{line: 366, col: 9, offset: 11292}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 366, col: 9, offset: 11292}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 366, col: 13, offset: 11296}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine31, + 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: 366, col: 34, offset: 11317}, + val: "!:", + ignoreCase: false, + want: "\"!:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 366, col: 39, offset: 11322}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine38, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine41, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, &ruleRefExpr{ pos: position{line: 30, col: 11, offset: 571}, name: "FileInclusion", }, - &ruleRefExpr{ - pos: position{line: 31, col: 11, offset: 595}, - name: "ConditionalInclusion", + &actionExpr{ + pos: position{line: 71, col: 10, offset: 1773}, + run: (*parser).callonDocumentRawLine49, + expr: &seqExpr{ + pos: position{line: 71, col: 10, offset: 1773}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 71, col: 10, offset: 1773}, + val: "ifdef::", + ignoreCase: false, + want: "\"ifdef::\"", + }, + &labeledExpr{ + pos: position{line: 71, col: 20, offset: 1783}, + label: "name", + expr: &actionExpr{ + pos: position{line: 128, col: 28, offset: 3562}, + run: (*parser).callonDocumentRawLine53, + expr: &oneOrMoreExpr{ + pos: position{line: 128, col: 28, offset: 3562}, + expr: &charClassMatcher{ + pos: position{line: 128, col: 28, offset: 3562}, + val: "[^\\r\\n []", + chars: []rune{'\r', '\n', ' ', '['}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 71, col: 51, offset: 1814}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + &labeledExpr{ + pos: position{line: 71, col: 55, offset: 1818}, + label: "attr", + expr: &zeroOrOneExpr{ + pos: position{line: 71, col: 60, offset: 1823}, + expr: &actionExpr{ + pos: position{line: 79, col: 34, offset: 2152}, + run: (*parser).callonDocumentRawLine59, + expr: &oneOrMoreExpr{ + pos: position{line: 79, col: 34, offset: 2152}, + expr: &charClassMatcher{ + pos: position{line: 79, col: 34, offset: 2152}, + val: "[^\\r\\n]]", + chars: []rune{'\r', '\n', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 71, col: 93, offset: 1856}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 71, col: 97, offset: 1860}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine64, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 32, col: 11, offset: 626}, - name: "BlockDelimiter", + &actionExpr{ + pos: position{line: 75, col: 11, offset: 1950}, + run: (*parser).callonDocumentRawLine68, + expr: &seqExpr{ + pos: position{line: 75, col: 11, offset: 1950}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 75, col: 11, offset: 1950}, + val: "ifndef::", + ignoreCase: false, + want: "\"ifndef::\"", + }, + &labeledExpr{ + pos: position{line: 75, col: 22, offset: 1961}, + label: "name", + expr: &actionExpr{ + pos: position{line: 128, col: 28, offset: 3562}, + run: (*parser).callonDocumentRawLine72, + expr: &oneOrMoreExpr{ + pos: position{line: 128, col: 28, offset: 3562}, + expr: &charClassMatcher{ + pos: position{line: 128, col: 28, offset: 3562}, + val: "[^\\r\\n []", + chars: []rune{'\r', '\n', ' ', '['}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 75, col: 53, offset: 1992}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + &labeledExpr{ + pos: position{line: 75, col: 57, offset: 1996}, + label: "attr", + expr: &zeroOrOneExpr{ + pos: position{line: 75, col: 62, offset: 2001}, + expr: &actionExpr{ + pos: position{line: 79, col: 34, offset: 2152}, + run: (*parser).callonDocumentRawLine78, + expr: &oneOrMoreExpr{ + pos: position{line: 79, col: 34, offset: 2152}, + expr: &charClassMatcher{ + pos: position{line: 79, col: 34, offset: 2152}, + val: "[^\\r\\n]]", + chars: []rune{'\r', '\n', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 75, col: 95, offset: 2034}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 75, col: 99, offset: 2038}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine83, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 33, col: 11, offset: 651}, - name: "RawSection", + &actionExpr{ + pos: position{line: 83, col: 11, offset: 2217}, + run: (*parser).callonDocumentRawLine87, + expr: &seqExpr{ + pos: position{line: 83, col: 11, offset: 2217}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 83, col: 11, offset: 2217}, + val: "ifeval::[", + ignoreCase: false, + want: "\"ifeval::[\"", + }, + &labeledExpr{ + pos: position{line: 85, col: 5, offset: 2242}, + label: "left", + expr: &choiceExpr{ + pos: position{line: 93, col: 5, offset: 2505}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 93, col: 6, offset: 2506}, + run: (*parser).callonDocumentRawLine92, + expr: &seqExpr{ + pos: position{line: 93, col: 6, offset: 2506}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 93, col: 6, offset: 2506}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + &labeledExpr{ + pos: position{line: 93, col: 11, offset: 2511}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDocumentRawLine97, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine101, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDocumentRawLine107, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine111, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 93, col: 39, offset: 2539}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 94, col: 8, offset: 2570}, + run: (*parser).callonDocumentRawLine118, + expr: &seqExpr{ + pos: position{line: 94, col: 8, offset: 2570}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 94, col: 8, offset: 2570}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &labeledExpr{ + pos: position{line: 94, col: 12, offset: 2574}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDocumentRawLine123, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine127, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDocumentRawLine133, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine137, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 94, col: 40, offset: 2602}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 95, col: 8, offset: 2632}, + run: (*parser).callonDocumentRawLine144, + expr: &labeledExpr{ + pos: position{line: 95, col: 8, offset: 2632}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDocumentRawLine147, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine151, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDocumentRawLine157, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine161, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 96, col: 8, offset: 2686}, + run: (*parser).callonDocumentRawLine167, + expr: &seqExpr{ + pos: position{line: 96, col: 8, offset: 2686}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 96, col: 8, offset: 2686}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + &labeledExpr{ + pos: position{line: 96, col: 13, offset: 2691}, + label: "w", + expr: &actionExpr{ + pos: position{line: 96, col: 16, offset: 2694}, + run: (*parser).callonDocumentRawLine171, + expr: &oneOrMoreExpr{ + pos: position{line: 96, col: 16, offset: 2694}, + expr: &charClassMatcher{ + pos: position{line: 96, col: 16, offset: 2694}, + val: "[,?!;_-0-9\\pL]", + chars: []rune{',', '?', '!', ';', '_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 96, col: 63, offset: 2741}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 97, col: 8, offset: 2772}, + run: (*parser).callonDocumentRawLine175, + expr: &seqExpr{ + pos: position{line: 97, col: 8, offset: 2772}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 97, col: 8, offset: 2772}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &labeledExpr{ + pos: position{line: 97, col: 12, offset: 2776}, + label: "w", + expr: &actionExpr{ + pos: position{line: 97, col: 15, offset: 2779}, + run: (*parser).callonDocumentRawLine179, + expr: &oneOrMoreExpr{ + pos: position{line: 97, col: 15, offset: 2779}, + expr: &charClassMatcher{ + pos: position{line: 97, col: 15, offset: 2779}, + val: "[,?!;_-0-9\\pL]", + chars: []rune{',', '?', '!', ';', '_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 97, col: 62, offset: 2826}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonDocumentRawLine183, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 85, col: 35, offset: 2272}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine190, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 86, col: 5, offset: 2284}, + label: "operand", + expr: &choiceExpr{ + pos: position{line: 101, col: 5, offset: 2895}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 101, col: 6, offset: 2896}, + run: (*parser).callonDocumentRawLine194, + expr: &litMatcher{ + pos: position{line: 101, col: 6, offset: 2896}, + val: "==", + ignoreCase: false, + want: "\"==\"", + }, + }, + &actionExpr{ + pos: position{line: 104, col: 8, offset: 2956}, + run: (*parser).callonDocumentRawLine196, + expr: &litMatcher{ + pos: position{line: 104, col: 8, offset: 2956}, + val: "!=", + ignoreCase: false, + want: "\"!=\"", + }, + }, + &actionExpr{ + pos: position{line: 107, col: 8, offset: 3019}, + run: (*parser).callonDocumentRawLine198, + expr: &litMatcher{ + pos: position{line: 107, col: 8, offset: 3019}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + }, + &actionExpr{ + pos: position{line: 110, col: 8, offset: 3081}, + run: (*parser).callonDocumentRawLine200, + expr: &litMatcher{ + pos: position{line: 110, col: 8, offset: 3081}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 113, col: 8, offset: 3147}, + run: (*parser).callonDocumentRawLine202, + expr: &litMatcher{ + pos: position{line: 113, col: 8, offset: 3147}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + }, + &actionExpr{ + pos: position{line: 116, col: 8, offset: 3212}, + run: (*parser).callonDocumentRawLine204, + expr: &litMatcher{ + pos: position{line: 116, col: 8, offset: 3212}, + val: ">=", + ignoreCase: false, + want: "\">=\"", + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 86, col: 39, offset: 2318}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine207, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 87, col: 5, offset: 2330}, + label: "right", + expr: &choiceExpr{ + pos: position{line: 93, col: 5, offset: 2505}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 93, col: 6, offset: 2506}, + run: (*parser).callonDocumentRawLine211, + expr: &seqExpr{ + pos: position{line: 93, col: 6, offset: 2506}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 93, col: 6, offset: 2506}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + &labeledExpr{ + pos: position{line: 93, col: 11, offset: 2511}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDocumentRawLine216, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine220, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDocumentRawLine226, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine230, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 93, col: 39, offset: 2539}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 94, col: 8, offset: 2570}, + run: (*parser).callonDocumentRawLine237, + expr: &seqExpr{ + pos: position{line: 94, col: 8, offset: 2570}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 94, col: 8, offset: 2570}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &labeledExpr{ + pos: position{line: 94, col: 12, offset: 2574}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDocumentRawLine242, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine246, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDocumentRawLine252, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine256, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 94, col: 40, offset: 2602}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 95, col: 8, offset: 2632}, + run: (*parser).callonDocumentRawLine263, + expr: &labeledExpr{ + pos: position{line: 95, col: 8, offset: 2632}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDocumentRawLine266, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine270, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDocumentRawLine276, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentRawLine280, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 96, col: 8, offset: 2686}, + run: (*parser).callonDocumentRawLine286, + expr: &seqExpr{ + pos: position{line: 96, col: 8, offset: 2686}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 96, col: 8, offset: 2686}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + &labeledExpr{ + pos: position{line: 96, col: 13, offset: 2691}, + label: "w", + expr: &actionExpr{ + pos: position{line: 96, col: 16, offset: 2694}, + run: (*parser).callonDocumentRawLine290, + expr: &oneOrMoreExpr{ + pos: position{line: 96, col: 16, offset: 2694}, + expr: &charClassMatcher{ + pos: position{line: 96, col: 16, offset: 2694}, + val: "[,?!;_-0-9\\pL]", + chars: []rune{',', '?', '!', ';', '_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 96, col: 63, offset: 2741}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 97, col: 8, offset: 2772}, + run: (*parser).callonDocumentRawLine294, + expr: &seqExpr{ + pos: position{line: 97, col: 8, offset: 2772}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 97, col: 8, offset: 2772}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &labeledExpr{ + pos: position{line: 97, col: 12, offset: 2776}, + label: "w", + expr: &actionExpr{ + pos: position{line: 97, col: 15, offset: 2779}, + run: (*parser).callonDocumentRawLine298, + expr: &oneOrMoreExpr{ + pos: position{line: 97, col: 15, offset: 2779}, + expr: &charClassMatcher{ + pos: position{line: 97, col: 15, offset: 2779}, + val: "[,?!;_-0-9\\pL]", + chars: []rune{',', '?', '!', ';', '_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 97, col: 62, offset: 2826}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonDocumentRawLine302, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 87, col: 36, offset: 2361}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 88, col: 5, offset: 2370}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine310, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 34, col: 7, offset: 668}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "RawSection", - pos: position{line: 42, col: 1, offset: 921}, - expr: &actionExpr{ - pos: position{line: 43, col: 5, offset: 940}, - run: (*parser).callonRawSection1, - expr: &seqExpr{ - pos: position{line: 43, col: 5, offset: 940}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 43, col: 5, offset: 940}, - run: (*parser).callonRawSection3, - }, - &andCodeExpr{ - pos: position{line: 47, col: 5, offset: 1084}, - run: (*parser).callonRawSection4, - }, - &labeledExpr{ - pos: position{line: 50, col: 5, offset: 1147}, - label: "level", - expr: &actionExpr{ - pos: position{line: 50, col: 12, offset: 1154}, - run: (*parser).callonRawSection6, - expr: &oneOrMoreExpr{ - pos: position{line: 50, col: 12, offset: 1154}, - expr: &litMatcher{ - pos: position{line: 50, col: 13, offset: 1155}, - val: "=", - ignoreCase: false, - want: "\"=\"", + &actionExpr{ + pos: position{line: 124, col: 10, offset: 3339}, + run: (*parser).callonDocumentRawLine314, + expr: &seqExpr{ + pos: position{line: 124, col: 10, offset: 3339}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 124, col: 10, offset: 3339}, + val: "endif::", + ignoreCase: false, + want: "\"endif::\"", + }, + &labeledExpr{ + pos: position{line: 124, col: 20, offset: 3349}, + label: "name", + expr: &zeroOrOneExpr{ + pos: position{line: 124, col: 25, offset: 3354}, + expr: &actionExpr{ + pos: position{line: 128, col: 28, offset: 3562}, + run: (*parser).callonDocumentRawLine319, + expr: &oneOrMoreExpr{ + pos: position{line: 128, col: 28, offset: 3562}, + expr: &charClassMatcher{ + pos: position{line: 128, col: 28, offset: 3562}, + val: "[^\\r\\n []", + chars: []rune{'\r', '\n', ' ', '['}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 124, col: 52, offset: 3381}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + &labeledExpr{ + pos: position{line: 124, col: 56, offset: 3385}, + label: "attr", + expr: &zeroOrOneExpr{ + pos: position{line: 124, col: 61, offset: 3390}, + expr: &actionExpr{ + pos: position{line: 79, col: 34, offset: 2152}, + run: (*parser).callonDocumentRawLine325, + expr: &oneOrMoreExpr{ + pos: position{line: 79, col: 34, offset: 2152}, + expr: &charClassMatcher{ + pos: position{line: 79, col: 34, offset: 2152}, + val: "[^\\r\\n]]", + chars: []rune{'\r', '\n', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 124, col: 94, offset: 3423}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 124, col: 98, offset: 3427}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine330, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + run: (*parser).callonDocumentRawLine334, + expr: &seqExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 735, col: 5, offset: 23652}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 736, col: 5, offset: 23682}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 737, col: 9, offset: 23702}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentRawLine340, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentRawLine343, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine349, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine352, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonDocumentRawLine359, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonDocumentRawLine362, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine368, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine371, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + run: (*parser).callonDocumentRawLine378, + expr: &seqExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 771, col: 26, offset: 24930}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 771, col: 32, offset: 24936}, + label: "language", + expr: &actionExpr{ + pos: position{line: 775, col: 13, offset: 25066}, + run: (*parser).callonDocumentRawLine382, + expr: &oneOrMoreExpr{ + pos: position{line: 775, col: 14, offset: 25067}, + expr: &charClassMatcher{ + pos: position{line: 775, col: 14, offset: 25067}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 52, offset: 24956}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine386, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine389, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonDocumentRawLine396, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonDocumentRawLine399, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine405, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine408, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonDocumentRawLine415, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonDocumentRawLine418, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine424, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine427, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonDocumentRawLine434, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonDocumentRawLine437, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine443, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine446, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonDocumentRawLine453, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonDocumentRawLine456, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine462, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine465, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonDocumentRawLine472, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonDocumentRawLine475, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine481, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine484, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonDocumentRawLine491, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonDocumentRawLine494, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentRawLine500, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentRawLine503, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 43, col: 5, offset: 940}, + run: (*parser).callonDocumentRawLine510, + expr: &seqExpr{ + pos: position{line: 43, col: 5, offset: 940}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 43, col: 5, offset: 940}, + run: (*parser).callonDocumentRawLine512, + }, + &andCodeExpr{ + pos: position{line: 47, col: 5, offset: 1084}, + run: (*parser).callonDocumentRawLine513, + }, + &labeledExpr{ + pos: position{line: 50, col: 5, offset: 1147}, + label: "level", + expr: &actionExpr{ + pos: position{line: 50, col: 12, offset: 1154}, + run: (*parser).callonDocumentRawLine515, + expr: &oneOrMoreExpr{ + pos: position{line: 50, col: 12, offset: 1154}, + expr: &litMatcher{ + pos: position{line: 50, col: 13, offset: 1155}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 54, col: 5, offset: 1263}, + run: (*parser).callonDocumentRawLine518, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonDocumentRawLine519, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 58, col: 12, offset: 1422}, + expr: &charClassMatcher{ + pos: position{line: 58, col: 12, offset: 1422}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, }, - &andCodeExpr{ - pos: position{line: 54, col: 5, offset: 1263}, - run: (*parser).callonRawSection9, - }, - &ruleRefExpr{ - pos: position{line: 58, col: 5, offset: 1415}, - name: "Spaces", - }, - &oneOrMoreExpr{ - pos: position{line: 58, col: 12, offset: 1422}, - expr: &charClassMatcher{ - pos: position{line: 58, col: 12, offset: 1422}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, }, }, - &ruleRefExpr{ - pos: position{line: 58, col: 21, offset: 1431}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "ConditionalInclusion", - pos: position{line: 65, col: 1, offset: 1689}, - expr: &choiceExpr{ - pos: position{line: 66, col: 5, offset: 1718}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 66, col: 5, offset: 1718}, - name: "Ifdef", - }, - &ruleRefExpr{ - pos: position{line: 67, col: 7, offset: 1730}, - name: "Ifndef", - }, - &ruleRefExpr{ - pos: position{line: 68, col: 7, offset: 1743}, - name: "Ifeval", - }, - &ruleRefExpr{ - pos: position{line: 69, col: 7, offset: 1756}, - name: "EndIf", }, }, }, }, { - name: "Ifdef", - pos: position{line: 71, col: 1, offset: 1764}, + name: "FileInclusion", + pos: position{line: 135, col: 1, offset: 3762}, expr: &actionExpr{ - pos: position{line: 71, col: 10, offset: 1773}, - run: (*parser).callonIfdef1, + pos: position{line: 136, col: 5, offset: 3784}, + run: (*parser).callonFileInclusion1, expr: &seqExpr{ - pos: position{line: 71, col: 10, offset: 1773}, + pos: position{line: 136, col: 5, offset: 3784}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 71, col: 10, offset: 1773}, - val: "ifdef::", - ignoreCase: false, - want: "\"ifdef::\"", - }, - &labeledExpr{ - pos: position{line: 71, col: 20, offset: 1783}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 71, col: 26, offset: 1789}, - name: "ConditionalVariableName", - }, - }, - &litMatcher{ - pos: position{line: 71, col: 51, offset: 1814}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, &labeledExpr{ - pos: position{line: 71, col: 55, offset: 1818}, - label: "attr", - expr: &zeroOrOneExpr{ - pos: position{line: 71, col: 60, offset: 1823}, - expr: &ruleRefExpr{ - pos: position{line: 71, col: 61, offset: 1824}, - name: "ConditionalInclusionAttribute", + pos: position{line: 136, col: 5, offset: 3784}, + label: "incl", + expr: &actionExpr{ + pos: position{line: 137, col: 9, offset: 3799}, + run: (*parser).callonFileInclusion4, + expr: &seqExpr{ + pos: position{line: 137, col: 9, offset: 3799}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 137, col: 9, offset: 3799}, + val: "include::", + ignoreCase: false, + want: "\"include::\"", + }, + &labeledExpr{ + pos: position{line: 138, col: 9, offset: 3820}, + label: "path", + expr: &actionExpr{ + pos: position{line: 3075, col: 17, offset: 99578}, + run: (*parser).callonFileInclusion8, + expr: &labeledExpr{ + pos: position{line: 3075, col: 17, offset: 99578}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3075, col: 22, offset: 99583}, + expr: &choiceExpr{ + pos: position{line: 3075, col: 23, offset: 99584}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonFileInclusion12, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonFileInclusion19, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonFileInclusion23, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonFileInclusion30, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonFileInclusion32, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonFileInclusion34, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonFileInclusion37, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileInclusion41, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonFileInclusion48, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonFileInclusion53, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonFileInclusion55, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonFileInclusion59, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileInclusion63, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonFileInclusion70, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonFileInclusion75, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonFileInclusion77, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonFileInclusion81, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileInclusion85, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonFileInclusion91, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileInclusion95, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonFileInclusion101, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonFileInclusion103, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonFileInclusion106, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonFileInclusion108, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonFileInclusion112, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonFileInclusion116, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonFileInclusion122, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonFileInclusion127, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileInclusion131, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonFileInclusion137, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileInclusion141, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonFileInclusion147, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonFileInclusion150, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonFileInclusion154, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonFileInclusion158, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonFileInclusion160, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonFileInclusion162, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonFileInclusion166, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 139, col: 9, offset: 3849}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 139, col: 21, offset: 3861}, + name: "InlineAttributes", + }, + }, + }, }, }, }, - &litMatcher{ - pos: position{line: 71, col: 93, offset: 1856}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, &zeroOrMoreExpr{ - pos: position{line: 71, col: 97, offset: 1860}, - expr: &ruleRefExpr{ - pos: position{line: 71, col: 97, offset: 1860}, - name: "Space", + pos: position{line: 143, col: 5, offset: 4016}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonFileInclusion173, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, - &ruleRefExpr{ - pos: position{line: 71, col: 104, offset: 1867}, - name: "EOF", + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonFileInclusion176, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, }, }, { - name: "Ifndef", - pos: position{line: 75, col: 1, offset: 1940}, + name: "LineRanges", + pos: position{line: 150, col: 1, offset: 4149}, expr: &actionExpr{ - pos: position{line: 75, col: 11, offset: 1950}, - run: (*parser).callonIfndef1, + pos: position{line: 150, col: 15, offset: 4163}, + run: (*parser).callonLineRanges1, expr: &seqExpr{ - pos: position{line: 75, col: 11, offset: 1950}, + pos: position{line: 150, col: 15, offset: 4163}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 75, col: 11, offset: 1950}, - val: "ifndef::", - ignoreCase: false, - want: "\"ifndef::\"", - }, - &labeledExpr{ - pos: position{line: 75, col: 22, offset: 1961}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 75, col: 28, offset: 1967}, - name: "ConditionalVariableName", - }, - }, - &litMatcher{ - pos: position{line: 75, col: 53, offset: 1992}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, &labeledExpr{ - pos: position{line: 75, col: 57, offset: 1996}, - label: "attr", - expr: &zeroOrOneExpr{ - pos: position{line: 75, col: 62, offset: 2001}, - expr: &ruleRefExpr{ - pos: position{line: 75, col: 63, offset: 2002}, - name: "ConditionalInclusionAttribute", - }, - }, - }, - &litMatcher{ - pos: position{line: 75, col: 95, offset: 2034}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 75, col: 99, offset: 2038}, - expr: &ruleRefExpr{ - pos: position{line: 75, col: 99, offset: 2038}, - name: "Space", + pos: position{line: 150, col: 15, offset: 4163}, + label: "value", + expr: &choiceExpr{ + pos: position{line: 150, col: 22, offset: 4170}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 157, col: 23, offset: 4353}, + run: (*parser).callonLineRanges5, + expr: &seqExpr{ + pos: position{line: 157, col: 23, offset: 4353}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 157, col: 23, offset: 4353}, + label: "first", + expr: &choiceExpr{ + pos: position{line: 157, col: 30, offset: 4360}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + run: (*parser).callonLineRanges9, + expr: &seqExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + label: "start", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges12, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 166, col: 35, offset: 4734}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + &labeledExpr{ + pos: position{line: 166, col: 40, offset: 4739}, + label: "end", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges20, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 170, col: 20, offset: 4860}, + run: (*parser).callonLineRanges26, + expr: &labeledExpr{ + pos: position{line: 170, col: 20, offset: 4860}, + label: "singleline", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges28, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 158, col: 5, offset: 4399}, + label: "others", + expr: &oneOrMoreExpr{ + pos: position{line: 158, col: 12, offset: 4406}, + expr: &actionExpr{ + pos: position{line: 159, col: 9, offset: 4416}, + run: (*parser).callonLineRanges36, + expr: &seqExpr{ + pos: position{line: 159, col: 9, offset: 4416}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 159, col: 10, offset: 4417}, + val: "[,;]", + chars: []rune{',', ';'}, + ignoreCase: false, + inverted: false, + }, + &labeledExpr{ + pos: position{line: 160, col: 9, offset: 4534}, + label: "other", + expr: &choiceExpr{ + pos: position{line: 160, col: 16, offset: 4541}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + run: (*parser).callonLineRanges41, + expr: &seqExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + label: "start", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges44, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 166, col: 35, offset: 4734}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + &labeledExpr{ + pos: position{line: 166, col: 40, offset: 4739}, + label: "end", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges52, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 170, col: 20, offset: 4860}, + run: (*parser).callonLineRanges58, + expr: &labeledExpr{ + pos: position{line: 170, col: 20, offset: 4860}, + label: "singleline", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges60, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + run: (*parser).callonLineRanges66, + expr: &seqExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 166, col: 19, offset: 4718}, + label: "start", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges69, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 166, col: 35, offset: 4734}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + &labeledExpr{ + pos: position{line: 166, col: 40, offset: 4739}, + label: "end", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges77, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 170, col: 20, offset: 4860}, + run: (*parser).callonLineRanges83, + expr: &labeledExpr{ + pos: position{line: 170, col: 20, offset: 4860}, + label: "singleline", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonLineRanges85, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &ruleRefExpr{ - pos: position{line: 75, col: 106, offset: 2045}, - name: "EOF", + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, }, }, }, { - name: "ConditionalInclusionAttribute", - pos: position{line: 79, col: 1, offset: 2119}, - expr: &actionExpr{ - pos: position{line: 79, col: 34, offset: 2152}, - run: (*parser).callonConditionalInclusionAttribute1, - expr: &oneOrMoreExpr{ - pos: position{line: 79, col: 34, offset: 2152}, - expr: &charClassMatcher{ - pos: position{line: 79, col: 34, offset: 2152}, - val: "[^\\r\\n\\]]", - chars: []rune{'\r', '\n', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "Ifeval", - pos: position{line: 83, col: 1, offset: 2207}, + name: "TagRanges", + pos: position{line: 175, col: 1, offset: 4996}, expr: &actionExpr{ - pos: position{line: 83, col: 11, offset: 2217}, - run: (*parser).callonIfeval1, + pos: position{line: 175, col: 14, offset: 5009}, + run: (*parser).callonTagRanges1, expr: &seqExpr{ - pos: position{line: 83, col: 11, offset: 2217}, + pos: position{line: 175, col: 14, offset: 5009}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 83, col: 11, offset: 2217}, - val: "ifeval::", - ignoreCase: false, - want: "\"ifeval::\"", - }, - &litMatcher{ - pos: position{line: 84, col: 5, offset: 2233}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - &labeledExpr{ - pos: position{line: 85, col: 5, offset: 2242}, - label: "left", - expr: &ruleRefExpr{ - pos: position{line: 85, col: 11, offset: 2248}, - name: "IfevalExpressionMember", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 85, col: 35, offset: 2272}, - expr: &ruleRefExpr{ - pos: position{line: 85, col: 35, offset: 2272}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 86, col: 5, offset: 2284}, - label: "operand", - expr: &ruleRefExpr{ - pos: position{line: 86, col: 14, offset: 2293}, - name: "IfevalExpressionOperand", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 86, col: 39, offset: 2318}, - expr: &ruleRefExpr{ - pos: position{line: 86, col: 39, offset: 2318}, - name: "Space", - }, - }, &labeledExpr{ - pos: position{line: 87, col: 5, offset: 2330}, - label: "right", - expr: &ruleRefExpr{ - pos: position{line: 87, col: 12, offset: 2337}, - name: "IfevalExpressionMember", + pos: position{line: 175, col: 14, offset: 5009}, + label: "value", + expr: &actionExpr{ + pos: position{line: 179, col: 22, offset: 5146}, + run: (*parser).callonTagRanges4, + expr: &seqExpr{ + pos: position{line: 179, col: 22, offset: 5146}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 179, col: 22, offset: 5146}, + label: "first", + expr: &choiceExpr{ + pos: position{line: 188, col: 13, offset: 5456}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 188, col: 13, offset: 5456}, + run: (*parser).callonTagRanges8, + expr: &labeledExpr{ + pos: position{line: 188, col: 13, offset: 5456}, + label: "tag", + expr: &choiceExpr{ + pos: position{line: 188, col: 18, offset: 5461}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonTagRanges11, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + run: (*parser).callonTagRanges14, + expr: &seqExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + label: "stars", + expr: &actionExpr{ + pos: position{line: 194, col: 23, offset: 5668}, + run: (*parser).callonTagRanges17, + expr: &oneOrMoreExpr{ + pos: position{line: 194, col: 23, offset: 5668}, + expr: &litMatcher{ + pos: position{line: 194, col: 24, offset: 5669}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 197, col: 5, offset: 5723}, + run: (*parser).callonTagRanges20, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 190, col: 9, offset: 5549}, + run: (*parser).callonTagRanges21, + expr: &seqExpr{ + pos: position{line: 190, col: 9, offset: 5549}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 190, col: 9, offset: 5549}, + val: "!", + ignoreCase: false, + want: "\"!\"", + }, + &labeledExpr{ + pos: position{line: 190, col: 13, offset: 5553}, + label: "tag", + expr: &choiceExpr{ + pos: position{line: 190, col: 18, offset: 5558}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonTagRanges26, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + run: (*parser).callonTagRanges29, + expr: &seqExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + label: "stars", + expr: &actionExpr{ + pos: position{line: 194, col: 23, offset: 5668}, + run: (*parser).callonTagRanges32, + expr: &oneOrMoreExpr{ + pos: position{line: 194, col: 23, offset: 5668}, + expr: &litMatcher{ + pos: position{line: 194, col: 24, offset: 5669}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 197, col: 5, offset: 5723}, + run: (*parser).callonTagRanges35, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 180, col: 5, offset: 5167}, + label: "others", + expr: &zeroOrMoreExpr{ + pos: position{line: 180, col: 12, offset: 5174}, + expr: &actionExpr{ + pos: position{line: 181, col: 9, offset: 5184}, + run: (*parser).callonTagRanges38, + expr: &seqExpr{ + pos: position{line: 181, col: 9, offset: 5184}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 181, col: 10, offset: 5185}, + val: "[,;]", + chars: []rune{',', ';'}, + ignoreCase: false, + inverted: false, + }, + &labeledExpr{ + pos: position{line: 182, col: 9, offset: 5302}, + label: "other", + expr: &choiceExpr{ + pos: position{line: 188, col: 13, offset: 5456}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 188, col: 13, offset: 5456}, + run: (*parser).callonTagRanges43, + expr: &labeledExpr{ + pos: position{line: 188, col: 13, offset: 5456}, + label: "tag", + expr: &choiceExpr{ + pos: position{line: 188, col: 18, offset: 5461}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonTagRanges46, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + run: (*parser).callonTagRanges49, + expr: &seqExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + label: "stars", + expr: &actionExpr{ + pos: position{line: 194, col: 23, offset: 5668}, + run: (*parser).callonTagRanges52, + expr: &oneOrMoreExpr{ + pos: position{line: 194, col: 23, offset: 5668}, + expr: &litMatcher{ + pos: position{line: 194, col: 24, offset: 5669}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 197, col: 5, offset: 5723}, + run: (*parser).callonTagRanges55, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 190, col: 9, offset: 5549}, + run: (*parser).callonTagRanges56, + expr: &seqExpr{ + pos: position{line: 190, col: 9, offset: 5549}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 190, col: 9, offset: 5549}, + val: "!", + ignoreCase: false, + want: "\"!\"", + }, + &labeledExpr{ + pos: position{line: 190, col: 13, offset: 5553}, + label: "tag", + expr: &choiceExpr{ + pos: position{line: 190, col: 18, offset: 5558}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonTagRanges61, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + run: (*parser).callonTagRanges64, + expr: &seqExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 194, col: 16, offset: 5661}, + label: "stars", + expr: &actionExpr{ + pos: position{line: 194, col: 23, offset: 5668}, + run: (*parser).callonTagRanges67, + expr: &oneOrMoreExpr{ + pos: position{line: 194, col: 23, offset: 5668}, + expr: &litMatcher{ + pos: position{line: 194, col: 24, offset: 5669}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 197, col: 5, offset: 5723}, + run: (*parser).callonTagRanges70, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &litMatcher{ - pos: position{line: 87, col: 36, offset: 2361}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 88, col: 5, offset: 2370}, - expr: &ruleRefExpr{ - pos: position{line: 88, col: 5, offset: 2370}, - name: "Space", + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, }, }, - &ruleRefExpr{ - pos: position{line: 88, col: 12, offset: 2377}, - name: "EOF", - }, }, }, }, }, { - name: "IfevalExpressionMember", - pos: position{line: 92, col: 1, offset: 2474}, - expr: &choiceExpr{ - pos: position{line: 93, col: 5, offset: 2505}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 93, col: 6, offset: 2506}, - run: (*parser).callonIfevalExpressionMember2, - expr: &seqExpr{ - pos: position{line: 93, col: 6, offset: 2506}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 93, col: 6, offset: 2506}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - &labeledExpr{ - pos: position{line: 93, col: 11, offset: 2511}, - label: "s", - expr: &ruleRefExpr{ - pos: position{line: 93, col: 14, offset: 2514}, - name: "AttributeReferenceValue", + name: "IncludedFileLine", + pos: position{line: 204, col: 1, offset: 5890}, + expr: &actionExpr{ + pos: position{line: 204, col: 21, offset: 5910}, + run: (*parser).callonIncludedFileLine1, + expr: &seqExpr{ + pos: position{line: 204, col: 21, offset: 5910}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 204, col: 21, offset: 5910}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 204, col: 29, offset: 5918}, + expr: &choiceExpr{ + pos: position{line: 204, col: 30, offset: 5919}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 208, col: 25, offset: 6099}, + run: (*parser).callonIncludedFileLine6, + expr: &seqExpr{ + pos: position{line: 208, col: 25, offset: 6099}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 208, col: 25, offset: 6099}, + val: "tag::", + ignoreCase: false, + want: "\"tag::\"", + }, + &labeledExpr{ + pos: position{line: 208, col: 33, offset: 6107}, + label: "tag", + expr: &actionExpr{ + pos: position{line: 208, col: 38, offset: 6112}, + run: (*parser).callonIncludedFileLine10, + expr: &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonIncludedFileLine11, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 208, col: 78, offset: 6152}, + val: "[]", + ignoreCase: false, + want: "\"[]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 212, col: 23, offset: 6247}, + run: (*parser).callonIncludedFileLine15, + expr: &seqExpr{ + pos: position{line: 212, col: 23, offset: 6247}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 212, col: 23, offset: 6247}, + val: "end::", + ignoreCase: false, + want: "\"end::\"", + }, + &labeledExpr{ + pos: position{line: 212, col: 31, offset: 6255}, + label: "tag", + expr: &actionExpr{ + pos: position{line: 212, col: 36, offset: 6260}, + run: (*parser).callonIncludedFileLine19, + expr: &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonIncludedFileLine20, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 212, col: 76, offset: 6300}, + val: "[]", + ignoreCase: false, + want: "\"[]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 204, col: 74, offset: 5963}, + run: (*parser).callonIncludedFileLine24, + expr: &anyMatcher{ + line: 204, col: 74, offset: 5963, + }, + }, }, }, - &litMatcher{ - pos: position{line: 93, col: 39, offset: 2539}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 94, col: 8, offset: 2570}, - run: (*parser).callonIfevalExpressionMember8, - expr: &seqExpr{ - pos: position{line: 94, col: 8, offset: 2570}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 94, col: 8, offset: 2570}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &labeledExpr{ - pos: position{line: 94, col: 12, offset: 2574}, - label: "s", - expr: &ruleRefExpr{ - pos: position{line: 94, col: 15, offset: 2577}, - name: "AttributeReferenceValue", + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonIncludedFileLine27, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, }, - &litMatcher{ - pos: position{line: 94, col: 40, offset: 2602}, - val: "'", - ignoreCase: false, - want: "\"'\"", + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 95, col: 8, offset: 2632}, - run: (*parser).callonIfevalExpressionMember14, - expr: &labeledExpr{ - pos: position{line: 95, col: 8, offset: 2632}, - label: "s", - expr: &ruleRefExpr{ - pos: position{line: 95, col: 11, offset: 2635}, - name: "AttributeReferenceValue", - }, - }, - }, - &actionExpr{ - pos: position{line: 96, col: 8, offset: 2686}, - run: (*parser).callonIfevalExpressionMember17, - expr: &seqExpr{ - pos: position{line: 96, col: 8, offset: 2686}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 96, col: 8, offset: 2686}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - &labeledExpr{ - pos: position{line: 96, col: 13, offset: 2691}, - label: "w", - expr: &actionExpr{ - pos: position{line: 96, col: 16, offset: 2694}, - run: (*parser).callonIfevalExpressionMember21, - expr: &oneOrMoreExpr{ - pos: position{line: 96, col: 16, offset: 2694}, - expr: &charClassMatcher{ - pos: position{line: 96, col: 16, offset: 2694}, - val: "[\\pL0-9,?!;_-]", - chars: []rune{',', '?', '!', ';', '_', '-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 96, col: 63, offset: 2741}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 97, col: 8, offset: 2772}, - run: (*parser).callonIfevalExpressionMember25, - expr: &seqExpr{ - pos: position{line: 97, col: 8, offset: 2772}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 97, col: 8, offset: 2772}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &labeledExpr{ - pos: position{line: 97, col: 12, offset: 2776}, - label: "w", - expr: &actionExpr{ - pos: position{line: 97, col: 15, offset: 2779}, - run: (*parser).callonIfevalExpressionMember29, - expr: &oneOrMoreExpr{ - pos: position{line: 97, col: 15, offset: 2779}, - expr: &charClassMatcher{ - pos: position{line: 97, col: 15, offset: 2779}, - val: "[\\pL0-9,?!;_-]", - chars: []rune{',', '?', '!', ';', '_', '-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 97, col: 62, offset: 2826}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 98, col: 7, offset: 2855}, - name: "Integer", - }, - }, - }, - }, - { - name: "IfevalExpressionOperand", - pos: position{line: 100, col: 1, offset: 2864}, - expr: &choiceExpr{ - pos: position{line: 101, col: 5, offset: 2895}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 101, col: 6, offset: 2896}, - run: (*parser).callonIfevalExpressionOperand2, - expr: &litMatcher{ - pos: position{line: 101, col: 6, offset: 2896}, - val: "==", - ignoreCase: false, - want: "\"==\"", - }, - }, - &actionExpr{ - pos: position{line: 104, col: 8, offset: 2956}, - run: (*parser).callonIfevalExpressionOperand4, - expr: &litMatcher{ - pos: position{line: 104, col: 8, offset: 2956}, - val: "!=", - ignoreCase: false, - want: "\"!=\"", - }, - }, - &actionExpr{ - pos: position{line: 107, col: 8, offset: 3019}, - run: (*parser).callonIfevalExpressionOperand6, - expr: &litMatcher{ - pos: position{line: 107, col: 8, offset: 3019}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - }, - &actionExpr{ - pos: position{line: 110, col: 8, offset: 3081}, - run: (*parser).callonIfevalExpressionOperand8, - expr: &litMatcher{ - pos: position{line: 110, col: 8, offset: 3081}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 113, col: 8, offset: 3147}, - run: (*parser).callonIfevalExpressionOperand10, - expr: &litMatcher{ - pos: position{line: 113, col: 8, offset: 3147}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - &actionExpr{ - pos: position{line: 116, col: 8, offset: 3212}, - run: (*parser).callonIfevalExpressionOperand12, - expr: &litMatcher{ - pos: position{line: 116, col: 8, offset: 3212}, - val: ">=", - ignoreCase: false, - want: "\">=\"", - }, - }, - }, - }, - }, - { - name: "IfevalExpressionValue", - pos: position{line: 120, col: 1, offset: 3275}, - expr: &choiceExpr{ - pos: position{line: 121, col: 5, offset: 3305}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 121, col: 5, offset: 3305}, - name: "Number", - }, - &ruleRefExpr{ - pos: position{line: 122, col: 7, offset: 3318}, - name: "InlineWord", - }, }, }, }, { - name: "EndIf", - pos: position{line: 124, col: 1, offset: 3330}, + name: "DocumentFragment", + pos: position{line: 228, col: 1, offset: 6786}, expr: &actionExpr{ - pos: position{line: 124, col: 10, offset: 3339}, - run: (*parser).callonEndIf1, + pos: position{line: 229, col: 5, offset: 6810}, + run: (*parser).callonDocumentFragment1, expr: &seqExpr{ - pos: position{line: 124, col: 10, offset: 3339}, + pos: position{line: 229, col: 5, offset: 6810}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 124, col: 10, offset: 3339}, - val: "endif::", - ignoreCase: false, - want: "\"endif::\"", - }, - &labeledExpr{ - pos: position{line: 124, col: 20, offset: 3349}, - label: "name", - expr: &zeroOrOneExpr{ - pos: position{line: 124, col: 25, offset: 3354}, - expr: &ruleRefExpr{ - pos: position{line: 124, col: 26, offset: 3355}, - name: "ConditionalVariableName", + ¬Expr{ + pos: position{line: 229, col: 5, offset: 6810}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, }, }, }, - &litMatcher{ - pos: position{line: 124, col: 52, offset: 3381}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, &labeledExpr{ - pos: position{line: 124, col: 56, offset: 3385}, - label: "attr", + pos: position{line: 230, col: 5, offset: 6819}, + label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 124, col: 61, offset: 3390}, + pos: position{line: 230, col: 16, offset: 6830}, expr: &ruleRefExpr{ - pos: position{line: 124, col: 62, offset: 3391}, - name: "ConditionalInclusionAttribute", + pos: position{line: 230, col: 17, offset: 6831}, + name: "BlockAttributes", }, }, }, - &litMatcher{ - pos: position{line: 124, col: 94, offset: 3423}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 124, col: 98, offset: 3427}, - expr: &ruleRefExpr{ - pos: position{line: 124, col: 98, offset: 3427}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 124, col: 105, offset: 3434}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "ConditionalVariableName", - pos: position{line: 128, col: 1, offset: 3535}, - expr: &actionExpr{ - pos: position{line: 128, col: 28, offset: 3562}, - run: (*parser).callonConditionalVariableName1, - expr: &oneOrMoreExpr{ - pos: position{line: 128, col: 28, offset: 3562}, - expr: &charClassMatcher{ - pos: position{line: 128, col: 28, offset: 3562}, - val: "[^\\r\\n []", - chars: []rune{'\r', '\n', ' ', '['}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "FileInclusion", - pos: position{line: 135, col: 1, offset: 3762}, - expr: &actionExpr{ - pos: position{line: 136, col: 5, offset: 3784}, - run: (*parser).callonFileInclusion1, - expr: &seqExpr{ - pos: position{line: 136, col: 5, offset: 3784}, - exprs: []interface{}{ &labeledExpr{ - pos: position{line: 136, col: 5, offset: 3784}, - label: "incl", - expr: &actionExpr{ - pos: position{line: 137, col: 9, offset: 3799}, - run: (*parser).callonFileInclusion4, - expr: &seqExpr{ - pos: position{line: 137, col: 9, offset: 3799}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 137, col: 9, offset: 3799}, - val: "include::", - ignoreCase: false, - want: "\"include::\"", + pos: position{line: 231, col: 5, offset: 6853}, + label: "element", + expr: &zeroOrOneExpr{ + pos: position{line: 231, col: 13, offset: 6861}, + expr: &choiceExpr{ + pos: position{line: 232, col: 9, offset: 6871}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 232, col: 9, offset: 6871}, + name: "ImageBlock", }, - &labeledExpr{ - pos: position{line: 138, col: 9, offset: 3820}, - label: "path", - expr: &ruleRefExpr{ - pos: position{line: 138, col: 15, offset: 3826}, - name: "FileLocation", - }, + &ruleRefExpr{ + pos: position{line: 233, col: 11, offset: 6932}, + name: "UserMacroBlock", }, - &labeledExpr{ - pos: position{line: 139, col: 9, offset: 3849}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 139, col: 21, offset: 3861}, - name: "InlineAttributes", + &ruleRefExpr{ + pos: position{line: 234, col: 11, offset: 6997}, + name: "ShortcutParagraph", + }, + &ruleRefExpr{ + pos: position{line: 235, col: 11, offset: 7025}, + name: "DocumentHeader", + }, + &ruleRefExpr{ + pos: position{line: 236, col: 11, offset: 7105}, + name: "AttributeDeclaration", + }, + &actionExpr{ + pos: position{line: 364, col: 19, offset: 11171}, + run: (*parser).callonDocumentFragment17, + expr: &seqExpr{ + pos: position{line: 364, col: 19, offset: 11171}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 364, col: 19, offset: 11171}, + val: ":!", + ignoreCase: false, + want: "\":!\"", + }, + &labeledExpr{ + pos: position{line: 364, col: 24, offset: 11176}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentFragment21, + 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: 364, col: 45, offset: 11197}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 364, col: 49, offset: 11201}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment28, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment31, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 143, col: 5, offset: 4016}, - expr: &ruleRefExpr{ - pos: position{line: 143, col: 5, offset: 4016}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 143, col: 12, offset: 4023}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "FileIncludeAttributes", - pos: position{line: 147, col: 1, offset: 4084}, - expr: &ruleRefExpr{ - pos: position{line: 147, col: 26, offset: 4109}, - name: "LongHandAttributes", - }, - }, - { - name: "LineRanges", - pos: position{line: 150, col: 1, offset: 4149}, - expr: &actionExpr{ - pos: position{line: 150, col: 15, offset: 4163}, - run: (*parser).callonLineRanges1, - expr: &seqExpr{ - pos: position{line: 150, col: 15, offset: 4163}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 150, col: 15, offset: 4163}, - label: "value", - expr: &choiceExpr{ - pos: position{line: 150, col: 22, offset: 4170}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 150, col: 22, offset: 4170}, - name: "MultipleLineRanges", - }, - &ruleRefExpr{ - pos: position{line: 151, col: 7, offset: 4196}, - name: "MultiLineRange", - }, - &ruleRefExpr{ - pos: position{line: 152, col: 7, offset: 4218}, - name: "SingleLineRange", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 153, col: 7, offset: 4241}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "MultipleLineRanges", - pos: position{line: 157, col: 1, offset: 4331}, - expr: &actionExpr{ - pos: position{line: 157, col: 23, offset: 4353}, - run: (*parser).callonMultipleLineRanges1, - expr: &seqExpr{ - pos: position{line: 157, col: 23, offset: 4353}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 157, col: 23, offset: 4353}, - label: "first", - expr: &choiceExpr{ - pos: position{line: 157, col: 30, offset: 4360}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 157, col: 30, offset: 4360}, - name: "MultiLineRange", - }, - &ruleRefExpr{ - pos: position{line: 157, col: 47, offset: 4377}, - name: "SingleLineRange", - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 158, col: 5, offset: 4399}, - label: "others", - expr: &oneOrMoreExpr{ - pos: position{line: 158, col: 12, offset: 4406}, - expr: &actionExpr{ - pos: position{line: 159, col: 9, offset: 4416}, - run: (*parser).callonMultipleLineRanges9, - expr: &seqExpr{ - pos: position{line: 159, col: 9, offset: 4416}, - exprs: []interface{}{ - &choiceExpr{ - pos: position{line: 159, col: 10, offset: 4417}, - alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 366, col: 9, offset: 11292}, + run: (*parser).callonDocumentFragment38, + expr: &seqExpr{ + pos: position{line: 366, col: 9, offset: 11292}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 159, col: 10, offset: 4417}, - val: ",", + pos: position{line: 366, col: 9, offset: 11292}, + val: ":", ignoreCase: false, - want: "\",\"", + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 366, col: 13, offset: 11296}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentFragment42, + 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: 159, col: 16, offset: 4423}, - val: ";", + pos: position{line: 366, col: 34, offset: 11317}, + val: "!:", ignoreCase: false, - want: "\";\"", + want: "\"!:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 366, col: 39, offset: 11322}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment49, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment52, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 160, col: 9, offset: 4534}, - label: "other", - expr: &choiceExpr{ - pos: position{line: 160, col: 16, offset: 4541}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 160, col: 16, offset: 4541}, - name: "MultiLineRange", + }, + &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentFragment59, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, - &ruleRefExpr{ - pos: position{line: 160, col: 33, offset: 4558}, - name: "SingleLineRange", + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment65, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment68, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, }, }, }, }, }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "MultiLineRange", - pos: position{line: 166, col: 1, offset: 4700}, - expr: &actionExpr{ - pos: position{line: 166, col: 19, offset: 4718}, - run: (*parser).callonMultiLineRange1, - expr: &seqExpr{ - pos: position{line: 166, col: 19, offset: 4718}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 166, col: 19, offset: 4718}, - label: "start", - expr: &ruleRefExpr{ - pos: position{line: 166, col: 26, offset: 4725}, - name: "Integer", - }, - }, - &litMatcher{ - pos: position{line: 166, col: 35, offset: 4734}, - val: "..", - ignoreCase: false, - want: "\"..\"", - }, - &labeledExpr{ - pos: position{line: 166, col: 40, offset: 4739}, - label: "end", - expr: &ruleRefExpr{ - pos: position{line: 166, col: 45, offset: 4744}, - name: "Integer", - }, - }, - }, - }, - }, - }, - { - name: "SingleLineRange", - pos: position{line: 170, col: 1, offset: 4841}, - expr: &actionExpr{ - pos: position{line: 170, col: 20, offset: 4860}, - run: (*parser).callonSingleLineRange1, - expr: &labeledExpr{ - pos: position{line: 170, col: 20, offset: 4860}, - label: "singleline", - expr: &ruleRefExpr{ - pos: position{line: 170, col: 32, offset: 4872}, - name: "Integer", - }, - }, - }, - }, - { - name: "TagRanges", - pos: position{line: 175, col: 1, offset: 4996}, - expr: &actionExpr{ - pos: position{line: 175, col: 14, offset: 5009}, - run: (*parser).callonTagRanges1, - expr: &seqExpr{ - pos: position{line: 175, col: 14, offset: 5009}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 175, col: 14, offset: 5009}, - label: "value", - expr: &ruleRefExpr{ - pos: position{line: 175, col: 21, offset: 5016}, - name: "MultipleTagRanges", - }, - }, - &ruleRefExpr{ - pos: position{line: 175, col: 40, offset: 5035}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "MultipleTagRanges", - pos: position{line: 179, col: 1, offset: 5125}, - expr: &actionExpr{ - pos: position{line: 179, col: 22, offset: 5146}, - run: (*parser).callonMultipleTagRanges1, - expr: &seqExpr{ - pos: position{line: 179, col: 22, offset: 5146}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 179, col: 22, offset: 5146}, - label: "first", - expr: &ruleRefExpr{ - pos: position{line: 179, col: 29, offset: 5153}, - name: "TagRange", - }, - }, - &labeledExpr{ - pos: position{line: 180, col: 5, offset: 5167}, - label: "others", - expr: &zeroOrMoreExpr{ - pos: position{line: 180, col: 12, offset: 5174}, - expr: &actionExpr{ - pos: position{line: 181, col: 9, offset: 5184}, - run: (*parser).callonMultipleTagRanges7, - expr: &seqExpr{ - pos: position{line: 181, col: 9, offset: 5184}, - exprs: []interface{}{ - &choiceExpr{ - pos: position{line: 181, col: 10, offset: 5185}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 181, col: 10, offset: 5185}, - val: ",", - ignoreCase: false, - want: "\",\"", + &actionExpr{ + pos: position{line: 2612, col: 5, offset: 85886}, + run: (*parser).callonDocumentFragment75, + expr: &seqExpr{ + pos: position{line: 2612, col: 5, offset: 85886}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2612, col: 5, offset: 85886}, + run: (*parser).callonDocumentFragment77, }, - &litMatcher{ - pos: position{line: 181, col: 16, offset: 5191}, - val: ";", - ignoreCase: false, - want: "\";\"", + &labeledExpr{ + pos: position{line: 2615, col: 5, offset: 85949}, + label: "level", + expr: &actionExpr{ + pos: position{line: 2615, col: 12, offset: 85956}, + run: (*parser).callonDocumentFragment79, + expr: &oneOrMoreExpr{ + pos: position{line: 2615, col: 12, offset: 85956}, + expr: &litMatcher{ + pos: position{line: 2615, col: 13, offset: 85957}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2619, col: 5, offset: 86065}, + run: (*parser).callonDocumentFragment82, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonDocumentFragment83, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2623, col: 12, offset: 86224}, + label: "title", + expr: &actionExpr{ + pos: position{line: 2627, col: 17, offset: 86343}, + run: (*parser).callonDocumentFragment87, + expr: &oneOrMoreExpr{ + pos: position{line: 2627, col: 17, offset: 86343}, + expr: &charClassMatcher{ + pos: position{line: 2627, col: 17, offset: 86343}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment91, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 182, col: 9, offset: 5302}, - label: "other", - expr: &ruleRefExpr{ - pos: position{line: 182, col: 16, offset: 5309}, - name: "TagRange", + }, + &actionExpr{ + pos: position{line: 826, col: 5, offset: 26775}, + run: (*parser).callonDocumentFragment98, + expr: &seqExpr{ + pos: position{line: 826, col: 5, offset: 26775}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentFragment100, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentFragment103, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment109, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment112, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 827, col: 5, offset: 26806}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 837, col: 5, offset: 27092}, + expr: &actionExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + run: (*parser).callonDocumentFragment121, + expr: &seqExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 837, col: 6, offset: 27093}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentFragment125, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentFragment128, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment134, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment137, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 838, col: 5, offset: 27123}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment147, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment153, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment157, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 828, col: 5, offset: 26840}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentFragment166, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentFragment169, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment175, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment178, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "TagRange", - pos: position{line: 188, col: 1, offset: 5444}, - expr: &choiceExpr{ - pos: position{line: 188, col: 13, offset: 5456}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 188, col: 13, offset: 5456}, - run: (*parser).callonTagRange2, - expr: &labeledExpr{ - pos: position{line: 188, col: 13, offset: 5456}, - label: "tag", - expr: &choiceExpr{ - pos: position{line: 188, col: 18, offset: 5461}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 188, col: 18, offset: 5461}, - name: "Alphanums", - }, - &ruleRefExpr{ - pos: position{line: 188, col: 30, offset: 5473}, - name: "TagWildcard", - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 190, col: 9, offset: 5549}, - run: (*parser).callonTagRange7, - expr: &seqExpr{ - pos: position{line: 190, col: 9, offset: 5549}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 190, col: 9, offset: 5549}, - val: "!", - ignoreCase: false, - want: "\"!\"", - }, - &labeledExpr{ - pos: position{line: 190, col: 13, offset: 5553}, - label: "tag", - expr: &choiceExpr{ - pos: position{line: 190, col: 18, offset: 5558}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 190, col: 18, offset: 5558}, - name: "Alphanums", - }, - &ruleRefExpr{ - pos: position{line: 190, col: 30, offset: 5570}, - name: "TagWildcard", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "TagWildcard", - pos: position{line: 194, col: 1, offset: 5646}, - expr: &actionExpr{ - pos: position{line: 194, col: 16, offset: 5661}, - run: (*parser).callonTagWildcard1, - expr: &seqExpr{ - pos: position{line: 194, col: 16, offset: 5661}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 194, col: 16, offset: 5661}, - label: "stars", - expr: &actionExpr{ - pos: position{line: 194, col: 23, offset: 5668}, - run: (*parser).callonTagWildcard4, - expr: &oneOrMoreExpr{ - pos: position{line: 194, col: 23, offset: 5668}, - expr: &litMatcher{ - pos: position{line: 194, col: 24, offset: 5669}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 197, col: 5, offset: 5723}, - run: (*parser).callonTagWildcard7, - }, - }, - }, - }, - }, - { - name: "IncludedFileLine", - pos: position{line: 204, col: 1, offset: 5890}, - expr: &actionExpr{ - pos: position{line: 204, col: 21, offset: 5910}, - run: (*parser).callonIncludedFileLine1, - expr: &seqExpr{ - pos: position{line: 204, col: 21, offset: 5910}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 204, col: 21, offset: 5910}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 204, col: 29, offset: 5918}, - expr: &choiceExpr{ - pos: position{line: 204, col: 30, offset: 5919}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 204, col: 30, offset: 5919}, - name: "IncludedFileStartTag", - }, - &ruleRefExpr{ - pos: position{line: 204, col: 53, offset: 5942}, - name: "IncludedFileEndTag", - }, &actionExpr{ - pos: position{line: 204, col: 74, offset: 5963}, - run: (*parser).callonIncludedFileLine8, - expr: &anyMatcher{ - line: 204, col: 74, offset: 5963, + pos: position{line: 846, col: 5, offset: 27276}, + run: (*parser).callonDocumentFragment187, + expr: &seqExpr{ + pos: position{line: 846, col: 5, offset: 27276}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 846, col: 5, offset: 27276}, + label: "start", + expr: &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonDocumentFragment190, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonDocumentFragment193, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment199, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment202, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 847, col: 5, offset: 27315}, + run: (*parser).callonDocumentFragment209, + }, + &labeledExpr{ + pos: position{line: 850, col: 5, offset: 27407}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 865, col: 4, offset: 27804}, + expr: &actionExpr{ + pos: position{line: 865, col: 5, offset: 27805}, + run: (*parser).callonDocumentFragment212, + expr: &seqExpr{ + pos: position{line: 865, col: 5, offset: 27805}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 865, col: 5, offset: 27805}, + expr: &choiceExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + label: "end", + expr: &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonDocumentFragment218, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonDocumentFragment221, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment227, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment230, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 859, col: 5, offset: 27678}, + run: (*parser).callonDocumentFragment237, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 866, col: 5, offset: 27835}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment241, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment247, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment251, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 851, col: 5, offset: 27441}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 851, col: 9, offset: 27445}, + expr: &choiceExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + label: "end", + expr: &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonDocumentFragment263, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonDocumentFragment266, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment272, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment275, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 859, col: 5, offset: 27678}, + run: (*parser).callonDocumentFragment282, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, }, }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 204, col: 107, offset: 5996}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "IncludedFileStartTag", - pos: position{line: 208, col: 1, offset: 6075}, - expr: &actionExpr{ - pos: position{line: 208, col: 25, offset: 6099}, - run: (*parser).callonIncludedFileStartTag1, - expr: &seqExpr{ - pos: position{line: 208, col: 25, offset: 6099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 208, col: 25, offset: 6099}, - val: "tag::", - ignoreCase: false, - want: "\"tag::\"", - }, - &labeledExpr{ - pos: position{line: 208, col: 33, offset: 6107}, - label: "tag", - expr: &actionExpr{ - pos: position{line: 208, col: 38, offset: 6112}, - run: (*parser).callonIncludedFileStartTag5, - expr: &ruleRefExpr{ - pos: position{line: 208, col: 38, offset: 6112}, - name: "Alphanums", - }, - }, - }, - &litMatcher{ - pos: position{line: 208, col: 78, offset: 6152}, - val: "[]", - ignoreCase: false, - want: "\"[]\"", - }, - }, - }, - }, - }, - { - name: "IncludedFileEndTag", - pos: position{line: 212, col: 1, offset: 6225}, - expr: &actionExpr{ - pos: position{line: 212, col: 23, offset: 6247}, - run: (*parser).callonIncludedFileEndTag1, - expr: &seqExpr{ - pos: position{line: 212, col: 23, offset: 6247}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 212, col: 23, offset: 6247}, - val: "end::", - ignoreCase: false, - want: "\"end::\"", - }, - &labeledExpr{ - pos: position{line: 212, col: 31, offset: 6255}, - label: "tag", - expr: &actionExpr{ - pos: position{line: 212, col: 36, offset: 6260}, - run: (*parser).callonIncludedFileEndTag5, - expr: &ruleRefExpr{ - pos: position{line: 212, col: 36, offset: 6260}, - name: "Alphanums", - }, - }, - }, - &litMatcher{ - pos: position{line: 212, col: 76, offset: 6300}, - val: "[]", - ignoreCase: false, - want: "\"[]\"", - }, - }, - }, - }, - }, - { - name: "DocumentFragment", - pos: position{line: 228, col: 1, offset: 6786}, - expr: &actionExpr{ - pos: position{line: 229, col: 5, offset: 6810}, - run: (*parser).callonDocumentFragment1, - expr: &seqExpr{ - pos: position{line: 229, col: 5, offset: 6810}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 229, col: 5, offset: 6810}, - expr: &ruleRefExpr{ - pos: position{line: 229, col: 6, offset: 6811}, - name: "EOF", - }, - }, - &labeledExpr{ - pos: position{line: 230, col: 5, offset: 6819}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 230, col: 16, offset: 6830}, - expr: &ruleRefExpr{ - pos: position{line: 230, col: 17, offset: 6831}, - name: "BlockAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 231, col: 5, offset: 6853}, - label: "element", - expr: &zeroOrOneExpr{ - pos: position{line: 231, col: 13, offset: 6861}, - expr: &choiceExpr{ - pos: position{line: 232, col: 9, offset: 6871}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 232, col: 9, offset: 6871}, - name: "ImageBlock", - }, - &ruleRefExpr{ - pos: position{line: 233, col: 11, offset: 6932}, - name: "UserMacroBlock", - }, - &ruleRefExpr{ - pos: position{line: 234, col: 11, offset: 6997}, - name: "ShortcutParagraph", + &actionExpr{ + pos: position{line: 958, col: 5, offset: 30127}, + run: (*parser).callonDocumentFragment285, + expr: &seqExpr{ + pos: position{line: 958, col: 5, offset: 30127}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 958, col: 5, offset: 30127}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + run: (*parser).callonDocumentFragment288, + expr: &seqExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 771, col: 26, offset: 24930}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 771, col: 32, offset: 24936}, + label: "language", + expr: &actionExpr{ + pos: position{line: 775, col: 13, offset: 25066}, + run: (*parser).callonDocumentFragment292, + expr: &oneOrMoreExpr{ + pos: position{line: 775, col: 14, offset: 25067}, + expr: &charClassMatcher{ + pos: position{line: 775, col: 14, offset: 25067}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 52, offset: 24956}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment296, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment299, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 959, col: 5, offset: 30173}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 972, col: 5, offset: 30646}, + expr: &actionExpr{ + pos: position{line: 972, col: 6, offset: 30647}, + run: (*parser).callonDocumentFragment308, + expr: &seqExpr{ + pos: position{line: 972, col: 6, offset: 30647}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 972, col: 6, offset: 30647}, + expr: &seqExpr{ + pos: position{line: 969, col: 34, offset: 30594}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 969, col: 34, offset: 30594}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 969, col: 40, offset: 30600}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment314, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment317, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 973, col: 5, offset: 30682}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment325, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment331, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment335, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 960, col: 5, offset: 30212}, + expr: &seqExpr{ + pos: position{line: 969, col: 34, offset: 30594}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 969, col: 34, offset: 30594}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 969, col: 40, offset: 30600}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment346, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment349, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 235, col: 11, offset: 7025}, - name: "DocumentHeader", + &actionExpr{ + pos: position{line: 874, col: 5, offset: 27988}, + run: (*parser).callonDocumentFragment356, + expr: &seqExpr{ + pos: position{line: 874, col: 5, offset: 27988}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 874, col: 5, offset: 27988}, + label: "start", + expr: &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonDocumentFragment359, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonDocumentFragment362, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment368, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment371, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 875, col: 5, offset: 28026}, + run: (*parser).callonDocumentFragment378, + }, + &labeledExpr{ + pos: position{line: 878, col: 5, offset: 28118}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 893, col: 5, offset: 28508}, + expr: &actionExpr{ + pos: position{line: 893, col: 6, offset: 28509}, + run: (*parser).callonDocumentFragment381, + expr: &seqExpr{ + pos: position{line: 893, col: 6, offset: 28509}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 893, col: 6, offset: 28509}, + expr: &choiceExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + label: "end", + expr: &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonDocumentFragment387, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonDocumentFragment390, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment396, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment399, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 887, col: 5, offset: 28382}, + run: (*parser).callonDocumentFragment406, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 894, col: 5, offset: 28538}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment410, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment416, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment420, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 879, col: 5, offset: 28151}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 879, col: 9, offset: 28155}, + expr: &choiceExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + label: "end", + expr: &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonDocumentFragment432, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonDocumentFragment435, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment441, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment444, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 887, col: 5, offset: 28382}, + run: (*parser).callonDocumentFragment451, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 236, col: 11, offset: 7105}, - name: "AttributeDeclaration", + &actionExpr{ + pos: position{line: 902, col: 5, offset: 28693}, + run: (*parser).callonDocumentFragment454, + expr: &seqExpr{ + pos: position{line: 902, col: 5, offset: 28693}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 902, col: 5, offset: 28693}, + label: "start", + expr: &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonDocumentFragment457, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonDocumentFragment460, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment466, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment469, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 903, col: 5, offset: 28732}, + run: (*parser).callonDocumentFragment476, + }, + &labeledExpr{ + pos: position{line: 906, col: 5, offset: 28824}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 921, col: 5, offset: 29222}, + expr: &actionExpr{ + pos: position{line: 921, col: 6, offset: 29223}, + run: (*parser).callonDocumentFragment479, + expr: &seqExpr{ + pos: position{line: 921, col: 6, offset: 29223}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 921, col: 6, offset: 29223}, + expr: &choiceExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + label: "end", + expr: &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonDocumentFragment485, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonDocumentFragment488, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment494, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment497, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 915, col: 5, offset: 29095}, + run: (*parser).callonDocumentFragment504, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 922, col: 5, offset: 29253}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment508, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment514, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment518, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 907, col: 5, offset: 28858}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 907, col: 9, offset: 28862}, + expr: &choiceExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + label: "end", + expr: &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonDocumentFragment530, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonDocumentFragment533, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment539, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment542, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 915, col: 5, offset: 29095}, + run: (*parser).callonDocumentFragment549, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 237, col: 11, offset: 7136}, - name: "AttributeReset", + &actionExpr{ + pos: position{line: 930, col: 5, offset: 29408}, + run: (*parser).callonDocumentFragment552, + expr: &seqExpr{ + pos: position{line: 930, col: 5, offset: 29408}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 930, col: 5, offset: 29408}, + label: "start", + expr: &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonDocumentFragment555, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonDocumentFragment558, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment564, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment567, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 931, col: 5, offset: 29447}, + run: (*parser).callonDocumentFragment574, + }, + &labeledExpr{ + pos: position{line: 934, col: 5, offset: 29539}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 949, col: 5, offset: 29937}, + expr: &actionExpr{ + pos: position{line: 949, col: 6, offset: 29938}, + run: (*parser).callonDocumentFragment577, + expr: &seqExpr{ + pos: position{line: 949, col: 6, offset: 29938}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 949, col: 6, offset: 29938}, + expr: &choiceExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + label: "end", + expr: &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonDocumentFragment583, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonDocumentFragment586, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment592, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment595, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 943, col: 5, offset: 29810}, + run: (*parser).callonDocumentFragment602, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 950, col: 5, offset: 29968}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment606, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment612, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment616, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 935, col: 5, offset: 29573}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 935, col: 9, offset: 29577}, + expr: &choiceExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + label: "end", + expr: &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonDocumentFragment628, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonDocumentFragment631, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment637, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment640, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 943, col: 5, offset: 29810}, + run: (*parser).callonDocumentFragment647, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 238, col: 11, offset: 7161}, - name: "BlankLine", + &actionExpr{ + pos: position{line: 981, col: 5, offset: 30851}, + run: (*parser).callonDocumentFragment650, + expr: &seqExpr{ + pos: position{line: 981, col: 5, offset: 30851}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 981, col: 5, offset: 30851}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 988, col: 5, offset: 31110}, + run: (*parser).callonDocumentFragment653, + expr: &seqExpr{ + pos: position{line: 988, col: 5, offset: 31110}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 988, col: 5, offset: 31110}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentFragment656, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment662, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment665, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 989, col: 5, offset: 31125}, + val: "> ", + ignoreCase: false, + want: "\"> \"", + }, + &labeledExpr{ + pos: position{line: 990, col: 5, offset: 31135}, + label: "content", + expr: &actionExpr{ + pos: position{line: 990, col: 14, offset: 31144}, + run: (*parser).callonDocumentFragment674, + expr: &oneOrMoreExpr{ + pos: position{line: 990, col: 15, offset: 31145}, + expr: &charClassMatcher{ + pos: position{line: 990, col: 15, offset: 31145}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment678, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 982, col: 5, offset: 30888}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 982, col: 16, offset: 30899}, + expr: &choiceExpr{ + pos: position{line: 982, col: 17, offset: 30900}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 988, col: 5, offset: 31110}, + run: (*parser).callonDocumentFragment688, + expr: &seqExpr{ + pos: position{line: 988, col: 5, offset: 31110}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 988, col: 5, offset: 31110}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentFragment691, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment697, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment700, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 989, col: 5, offset: 31125}, + val: "> ", + ignoreCase: false, + want: "\"> \"", + }, + &labeledExpr{ + pos: position{line: 990, col: 5, offset: 31135}, + label: "content", + expr: &actionExpr{ + pos: position{line: 990, col: 14, offset: 31144}, + run: (*parser).callonDocumentFragment709, + expr: &oneOrMoreExpr{ + pos: position{line: 990, col: 15, offset: 31145}, + expr: &charClassMatcher{ + pos: position{line: 990, col: 15, offset: 31145}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment713, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonDocumentFragment720, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonDocumentFragment723, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonDocumentFragment726, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment728, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 239, col: 11, offset: 7305}, - name: "Section", + &actionExpr{ + pos: position{line: 1007, col: 5, offset: 31503}, + run: (*parser).callonDocumentFragment735, + expr: &seqExpr{ + pos: position{line: 1007, col: 5, offset: 31503}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1007, col: 5, offset: 31503}, + label: "start", + expr: &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonDocumentFragment738, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonDocumentFragment741, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment747, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment750, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1008, col: 5, offset: 31546}, + run: (*parser).callonDocumentFragment757, + }, + &labeledExpr{ + pos: position{line: 1011, col: 5, offset: 31638}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1026, col: 5, offset: 32068}, + expr: &actionExpr{ + pos: position{line: 1026, col: 6, offset: 32069}, + run: (*parser).callonDocumentFragment760, + expr: &seqExpr{ + pos: position{line: 1026, col: 6, offset: 32069}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1026, col: 6, offset: 32069}, + expr: &choiceExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + label: "end", + expr: &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonDocumentFragment766, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonDocumentFragment769, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment775, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment778, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1020, col: 5, offset: 31937}, + run: (*parser).callonDocumentFragment785, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1027, col: 5, offset: 32103}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment789, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment795, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment799, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1012, col: 5, offset: 31676}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 1012, col: 9, offset: 31680}, + expr: &choiceExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + label: "end", + expr: &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonDocumentFragment811, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonDocumentFragment814, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment820, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment823, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1020, col: 5, offset: 31937}, + run: (*parser).callonDocumentFragment830, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 240, col: 11, offset: 7324}, - name: "DelimitedBlock", + &actionExpr{ + pos: position{line: 1035, col: 5, offset: 32254}, + run: (*parser).callonDocumentFragment833, + expr: &seqExpr{ + pos: position{line: 1035, col: 5, offset: 32254}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1035, col: 5, offset: 32254}, + label: "start", + expr: &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonDocumentFragment836, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonDocumentFragment839, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment845, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment848, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1036, col: 5, offset: 32291}, + run: (*parser).callonDocumentFragment855, + }, + &labeledExpr{ + pos: position{line: 1039, col: 5, offset: 32383}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1054, col: 4, offset: 32764}, + expr: &actionExpr{ + pos: position{line: 1054, col: 5, offset: 32765}, + run: (*parser).callonDocumentFragment858, + expr: &seqExpr{ + pos: position{line: 1054, col: 5, offset: 32765}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1054, col: 5, offset: 32765}, + expr: &choiceExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + label: "end", + expr: &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonDocumentFragment864, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonDocumentFragment867, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment873, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment876, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1048, col: 5, offset: 32640}, + run: (*parser).callonDocumentFragment883, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1055, col: 5, offset: 32793}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment887, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment893, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment897, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1040, col: 5, offset: 32415}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 1040, col: 9, offset: 32419}, + expr: &choiceExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + label: "end", + expr: &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonDocumentFragment909, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonDocumentFragment912, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment918, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment921, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1048, col: 5, offset: 32640}, + run: (*parser).callonDocumentFragment928, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 241, col: 11, offset: 7349}, - name: "ThematicBreak", + &actionExpr{ + pos: position{line: 1063, col: 5, offset: 32948}, + run: (*parser).callonDocumentFragment931, + expr: &seqExpr{ + pos: position{line: 1063, col: 5, offset: 32948}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1063, col: 5, offset: 32948}, + label: "start", + expr: &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonDocumentFragment934, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonDocumentFragment937, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment943, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment946, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1064, col: 5, offset: 32987}, + run: (*parser).callonDocumentFragment953, + }, + &labeledExpr{ + pos: position{line: 1067, col: 5, offset: 33079}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1082, col: 4, offset: 33476}, + expr: &actionExpr{ + pos: position{line: 1082, col: 5, offset: 33477}, + run: (*parser).callonDocumentFragment956, + expr: &seqExpr{ + pos: position{line: 1082, col: 5, offset: 33477}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1082, col: 5, offset: 33477}, + expr: &choiceExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + label: "end", + expr: &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonDocumentFragment962, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonDocumentFragment965, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment971, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment974, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1076, col: 5, offset: 33350}, + run: (*parser).callonDocumentFragment981, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1083, col: 5, offset: 33507}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentFragment985, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentFragment991, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment995, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1068, col: 5, offset: 33113}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 1068, col: 9, offset: 33117}, + expr: &choiceExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + label: "end", + expr: &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonDocumentFragment1007, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonDocumentFragment1010, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1016, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1019, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1076, col: 5, offset: 33350}, + run: (*parser).callonDocumentFragment1026, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2988, col: 18, offset: 96597}, + run: (*parser).callonDocumentFragment1029, + expr: &seqExpr{ + pos: position{line: 2988, col: 18, offset: 96597}, + exprs: []interface{}{ + &choiceExpr{ + pos: position{line: 2989, col: 9, offset: 96607}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2989, col: 9, offset: 96607}, + val: "'''", + ignoreCase: false, + want: "\"'''\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 11, offset: 96643}, + val: "***", + ignoreCase: false, + want: "\"***\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 19, offset: 96651}, + val: "* * *", + ignoreCase: false, + want: "\"* * *\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 29, offset: 96661}, + val: "---", + ignoreCase: false, + want: "\"---\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 37, offset: 96669}, + val: "- - -", + ignoreCase: false, + want: "\"- - -\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 47, offset: 96679}, + val: "___", + ignoreCase: false, + want: "\"___\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 55, offset: 96687}, + val: "_ _ _", + ignoreCase: false, + want: "\"_ _ _\"", + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 2991, col: 11, offset: 96745}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1040, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1043, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1051, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, &ruleRefExpr{ pos: position{line: 242, col: 11, offset: 7410}, name: "ListElements", }, - &ruleRefExpr{ - pos: position{line: 243, col: 11, offset: 7433}, - name: "Table", + &actionExpr{ + pos: position{line: 2886, col: 5, offset: 93726}, + run: (*parser).callonDocumentFragment1059, + expr: &seqExpr{ + pos: position{line: 2886, col: 5, offset: 93726}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1063, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1066, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2887, col: 5, offset: 93750}, + label: "header", + expr: &zeroOrOneExpr{ + pos: position{line: 2887, col: 12, offset: 93757}, + expr: &actionExpr{ + pos: position{line: 2902, col: 5, offset: 94070}, + run: (*parser).callonDocumentFragment1075, + expr: &seqExpr{ + pos: position{line: 2902, col: 5, offset: 94070}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2902, col: 5, offset: 94070}, + label: "cells", + expr: &oneOrMoreExpr{ + pos: position{line: 2902, col: 11, offset: 94076}, + expr: &actionExpr{ + pos: position{line: 2908, col: 5, offset: 94193}, + run: (*parser).callonDocumentFragment1079, + expr: &seqExpr{ + pos: position{line: 2908, col: 5, offset: 94193}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2908, col: 5, offset: 94193}, + val: "|", + ignoreCase: false, + want: "\"|\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2908, col: 9, offset: 94197}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1083, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2909, col: 5, offset: 94209}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 2909, col: 14, offset: 94218}, + expr: &actionExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + run: (*parser).callonDocumentFragment1087, + expr: &labeledExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + run: (*parser).callonDocumentFragment1089, + expr: &oneOrMoreExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + expr: &charClassMatcher{ + pos: position{line: 2941, col: 14, offset: 95015}, + val: "[^\\r\\n|]", + chars: []rune{'\r', '\n', '|'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1093, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 2903, col: 5, offset: 94098}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentFragment1101, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1107, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1110, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2888, col: 5, offset: 93776}, + label: "rows", + expr: &zeroOrMoreExpr{ + pos: position{line: 2888, col: 10, offset: 93781}, + expr: &choiceExpr{ + pos: position{line: 2913, col: 13, offset: 94315}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2923, col: 5, offset: 94534}, + run: (*parser).callonDocumentFragment1120, + expr: &seqExpr{ + pos: position{line: 2923, col: 5, offset: 94534}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2923, col: 5, offset: 94534}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1127, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1130, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2924, col: 5, offset: 94557}, + label: "cells", + expr: &oneOrMoreExpr{ + pos: position{line: 2924, col: 11, offset: 94563}, + expr: &actionExpr{ + pos: position{line: 2924, col: 12, offset: 94564}, + run: (*parser).callonDocumentFragment1141, + expr: &seqExpr{ + pos: position{line: 2924, col: 12, offset: 94564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2924, col: 12, offset: 94564}, + label: "cell", + expr: &actionExpr{ + pos: position{line: 2933, col: 5, offset: 94805}, + run: (*parser).callonDocumentFragment1144, + expr: &seqExpr{ + pos: position{line: 2933, col: 5, offset: 94805}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2933, col: 5, offset: 94805}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1151, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1154, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2934, col: 5, offset: 94828}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentFragment1164, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1170, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1173, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2935, col: 5, offset: 94843}, + val: "|", + ignoreCase: false, + want: "\"|\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2935, col: 9, offset: 94847}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1182, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2935, col: 16, offset: 94854}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 2935, col: 25, offset: 94863}, + expr: &actionExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + run: (*parser).callonDocumentFragment1186, + expr: &labeledExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + run: (*parser).callonDocumentFragment1188, + expr: &oneOrMoreExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + expr: &charClassMatcher{ + pos: position{line: 2941, col: 14, offset: 95015}, + val: "[^\\r\\n|]", + chars: []rune{'\r', '\n', '|'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1192, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2927, col: 6, offset: 94626}, + alternatives: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2927, col: 6, offset: 94626}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentFragment1201, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1207, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1210, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2927, col: 19, offset: 94639}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1222, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1225, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2916, col: 5, offset: 94382}, + run: (*parser).callonDocumentFragment1234, + expr: &seqExpr{ + pos: position{line: 2916, col: 5, offset: 94382}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2916, col: 5, offset: 94382}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1241, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1244, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2917, col: 5, offset: 94405}, + label: "cells", + expr: &oneOrMoreExpr{ + pos: position{line: 2917, col: 11, offset: 94411}, + expr: &actionExpr{ + pos: position{line: 2933, col: 5, offset: 94805}, + run: (*parser).callonDocumentFragment1255, + expr: &seqExpr{ + pos: position{line: 2933, col: 5, offset: 94805}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2933, col: 5, offset: 94805}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1262, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1265, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2934, col: 5, offset: 94828}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentFragment1275, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1281, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1284, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2935, col: 5, offset: 94843}, + val: "|", + ignoreCase: false, + want: "\"|\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2935, col: 9, offset: 94847}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1293, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2935, col: 16, offset: 94854}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 2935, col: 25, offset: 94863}, + expr: &actionExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + run: (*parser).callonDocumentFragment1297, + expr: &labeledExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + run: (*parser).callonDocumentFragment1299, + expr: &oneOrMoreExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + expr: &charClassMatcher{ + pos: position{line: 2941, col: 14, offset: 95015}, + val: "[^\\r\\n|]", + chars: []rune{'\r', '\n', '|'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1303, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 2918, col: 5, offset: 94432}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentFragment1311, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1317, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1320, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1331, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1334, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 244, col: 11, offset: 7449}, - name: "SingleLineComment", + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonDocumentFragment1343, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonDocumentFragment1349, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1353, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 245, col: 11, offset: 7477}, - name: "AdmonitionParagraph", + &actionExpr{ + pos: position{line: 1842, col: 5, offset: 60188}, + run: (*parser).callonDocumentFragment1360, + expr: &seqExpr{ + pos: position{line: 1842, col: 5, offset: 60188}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1842, col: 5, offset: 60188}, + label: "kind", + expr: &choiceExpr{ + pos: position{line: 293, col: 19, offset: 9062}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 293, col: 19, offset: 9062}, + run: (*parser).callonDocumentFragment1364, + expr: &litMatcher{ + pos: position{line: 293, col: 19, offset: 9062}, + val: "TIP", + ignoreCase: false, + want: "\"TIP\"", + }, + }, + &actionExpr{ + pos: position{line: 295, col: 5, offset: 9100}, + run: (*parser).callonDocumentFragment1366, + expr: &litMatcher{ + pos: position{line: 295, col: 5, offset: 9100}, + val: "NOTE", + ignoreCase: false, + want: "\"NOTE\"", + }, + }, + &actionExpr{ + pos: position{line: 297, col: 5, offset: 9140}, + run: (*parser).callonDocumentFragment1368, + expr: &litMatcher{ + pos: position{line: 297, col: 5, offset: 9140}, + val: "IMPORTANT", + ignoreCase: false, + want: "\"IMPORTANT\"", + }, + }, + &actionExpr{ + pos: position{line: 299, col: 5, offset: 9190}, + run: (*parser).callonDocumentFragment1370, + expr: &litMatcher{ + pos: position{line: 299, col: 5, offset: 9190}, + val: "WARNING", + ignoreCase: false, + want: "\"WARNING\"", + }, + }, + &actionExpr{ + pos: position{line: 301, col: 5, offset: 9236}, + run: (*parser).callonDocumentFragment1372, + expr: &litMatcher{ + pos: position{line: 301, col: 5, offset: 9236}, + val: "CAUTION", + ignoreCase: false, + want: "\"CAUTION\"", + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1842, col: 27, offset: 60210}, + val: ": ", + ignoreCase: false, + want: "\": \"", + }, + &labeledExpr{ + pos: position{line: 1843, col: 5, offset: 60220}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonDocumentFragment1376, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonDocumentFragment1379, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonDocumentFragment1382, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1384, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1844, col: 5, offset: 60254}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 1844, col: 16, offset: 60265}, + expr: &actionExpr{ + pos: position{line: 1845, col: 9, offset: 60275}, + run: (*parser).callonDocumentFragment1393, + expr: &seqExpr{ + pos: position{line: 1845, col: 9, offset: 60275}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1845, col: 9, offset: 60275}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1399, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1401, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1846, col: 9, offset: 60314}, + label: "line", + expr: &choiceExpr{ + pos: position{line: 1846, col: 15, offset: 60320}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonDocumentFragment1408, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonDocumentFragment1414, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1418, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonDocumentFragment1425, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonDocumentFragment1428, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonDocumentFragment1431, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1433, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 246, col: 11, offset: 7507}, - name: "LiteralParagraph", + &actionExpr{ + pos: position{line: 1865, col: 5, offset: 60846}, + run: (*parser).callonDocumentFragment1440, + expr: &seqExpr{ + pos: position{line: 1865, col: 5, offset: 60846}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1865, col: 5, offset: 60846}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + run: (*parser).callonDocumentFragment1443, + expr: &seqExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1872, col: 14, offset: 61140}, + run: (*parser).callonDocumentFragment1446, + expr: &seqExpr{ + pos: position{line: 1872, col: 14, offset: 61140}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonDocumentFragment1448, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 1872, col: 21, offset: 61147}, + expr: &charClassMatcher{ + pos: position{line: 1872, col: 21, offset: 61147}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1875, col: 5, offset: 61204}, + run: (*parser).callonDocumentFragment1453, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1455, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1866, col: 5, offset: 60887}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 1866, col: 16, offset: 60898}, + expr: &choiceExpr{ + pos: position{line: 1866, col: 17, offset: 60899}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonDocumentFragment1465, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonDocumentFragment1471, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1475, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonDocumentFragment1482, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonDocumentFragment1485, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonDocumentFragment1488, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1490, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 247, col: 11, offset: 7534}, - name: "FrontMatter", + &actionExpr{ + pos: position{line: 1237, col: 5, offset: 38775}, + run: (*parser).callonDocumentFragment1497, + expr: &seqExpr{ + pos: position{line: 1237, col: 5, offset: 38775}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1237, col: 5, offset: 38775}, + run: (*parser).callonDocumentFragment1499, + }, + &labeledExpr{ + pos: position{line: 1240, col: 5, offset: 38833}, + label: "frontmatter", + expr: &actionExpr{ + pos: position{line: 1245, col: 20, offset: 38928}, + run: (*parser).callonDocumentFragment1501, + expr: &seqExpr{ + pos: position{line: 1245, col: 20, offset: 38928}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1249, col: 30, offset: 39100}, + val: "---", + ignoreCase: false, + want: "\"---\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1249, col: 36, offset: 39106}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1505, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1508, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1245, col: 45, offset: 38953}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 1245, col: 53, offset: 38961}, + expr: &actionExpr{ + pos: position{line: 1251, col: 27, offset: 39144}, + run: (*parser).callonDocumentFragment1517, + expr: &zeroOrMoreExpr{ + pos: position{line: 1251, col: 27, offset: 39144}, + expr: &oneOrMoreExpr{ + pos: position{line: 1251, col: 28, offset: 39145}, + expr: &seqExpr{ + pos: position{line: 1251, col: 29, offset: 39146}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1251, col: 29, offset: 39146}, + expr: &seqExpr{ + pos: position{line: 1249, col: 30, offset: 39100}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1249, col: 30, offset: 39100}, + val: "---", + ignoreCase: false, + want: "\"---\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1249, col: 36, offset: 39106}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1525, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1528, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1251, col: 55, offset: 39172, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1249, col: 30, offset: 39100}, + val: "---", + ignoreCase: false, + want: "\"---\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1249, col: 36, offset: 39106}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentFragment1538, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentFragment1541, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, &ruleRefExpr{ pos: position{line: 248, col: 11, offset: 7556}, @@ -1360,48 +11398,6 @@ var g = &grammar{ }, }, }, - { - name: "RawLine", - pos: position{line: 260, col: 1, offset: 8026}, - expr: &actionExpr{ - pos: position{line: 261, col: 5, offset: 8042}, - run: (*parser).callonRawLine1, - expr: &seqExpr{ - pos: position{line: 261, col: 5, offset: 8042}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 261, col: 5, offset: 8042}, - expr: &ruleRefExpr{ - pos: position{line: 261, col: 6, offset: 8043}, - name: "EOF", - }, - }, - &labeledExpr{ - pos: position{line: 262, col: 5, offset: 8051}, - label: "content", - expr: &actionExpr{ - pos: position{line: 262, col: 14, offset: 8060}, - run: (*parser).callonRawLine6, - expr: &zeroOrMoreExpr{ - pos: position{line: 262, col: 14, offset: 8060}, - expr: &charClassMatcher{ - pos: position{line: 262, col: 14, offset: 8060}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 265, col: 5, offset: 8117}, - name: "EOL", - }, - }, - }, - }, - }, { name: "DelimitedBlockElements", pos: position{line: 271, col: 1, offset: 8251}, @@ -1419,9 +11415,44 @@ var g = &grammar{ expr: &choiceExpr{ pos: position{line: 273, col: 9, offset: 8301}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 273, col: 9, offset: 8301}, - name: "ElementPlaceHolder", + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonDelimitedBlockElements6, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonDelimitedBlockElements10, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, }, &ruleRefExpr{ pos: position{line: 274, col: 11, offset: 8363}, @@ -1431,85 +11462,11 @@ var g = &grammar{ }, }, }, - &ruleRefExpr{ - pos: position{line: 276, col: 5, offset: 8392}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "FrontMatterFragmentElement", - pos: position{line: 285, col: 1, offset: 8692}, - expr: &choiceExpr{ - pos: position{line: 286, col: 5, offset: 8726}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 286, col: 5, offset: 8726}, - name: "FrontMatterDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 287, col: 7, offset: 8753}, - name: "BlankLine", - }, - }, - }, - }, - { - name: "AdmonitionKind", - pos: position{line: 293, col: 1, offset: 9044}, - expr: &choiceExpr{ - pos: position{line: 293, col: 19, offset: 9062}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 293, col: 19, offset: 9062}, - run: (*parser).callonAdmonitionKind2, - expr: &litMatcher{ - pos: position{line: 293, col: 19, offset: 9062}, - val: "TIP", - ignoreCase: false, - want: "\"TIP\"", - }, - }, - &actionExpr{ - pos: position{line: 295, col: 5, offset: 9100}, - run: (*parser).callonAdmonitionKind4, - expr: &litMatcher{ - pos: position{line: 295, col: 5, offset: 9100}, - val: "NOTE", - ignoreCase: false, - want: "\"NOTE\"", - }, - }, - &actionExpr{ - pos: position{line: 297, col: 5, offset: 9140}, - run: (*parser).callonAdmonitionKind6, - expr: &litMatcher{ - pos: position{line: 297, col: 5, offset: 9140}, - val: "IMPORTANT", - ignoreCase: false, - want: "\"IMPORTANT\"", - }, - }, - &actionExpr{ - pos: position{line: 299, col: 5, offset: 9190}, - run: (*parser).callonAdmonitionKind8, - expr: &litMatcher{ - pos: position{line: 299, col: 5, offset: 9190}, - val: "WARNING", - ignoreCase: false, - want: "\"WARNING\"", - }, - }, - &actionExpr{ - pos: position{line: 301, col: 5, offset: 9236}, - run: (*parser).callonAdmonitionKind10, - expr: &litMatcher{ - pos: position{line: 301, col: 5, offset: 9236}, - val: "CAUTION", - ignoreCase: false, - want: "\"CAUTION\"", + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, }, @@ -1533,9 +11490,35 @@ var g = &grammar{ &labeledExpr{ pos: position{line: 309, col: 9, offset: 9529}, label: "name", - expr: &ruleRefExpr{ - pos: position{line: 309, col: 15, offset: 9535}, - name: "AttributeName", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonAttributeDeclaration5, + 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{ @@ -1551,13 +11534,23 @@ var g = &grammar{ pos: position{line: 310, col: 11, offset: 9565}, expr: &actionExpr{ pos: position{line: 311, col: 9, offset: 9575}, - run: (*parser).callonAttributeDeclaration9, + run: (*parser).callonAttributeDeclaration13, expr: &seqExpr{ pos: position{line: 311, col: 9, offset: 9575}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 311, col: 9, offset: 9575}, - name: "Spaces", + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonAttributeDeclaration15, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, }, &labeledExpr{ pos: position{line: 312, col: 9, offset: 9667}, @@ -1572,42 +11565,42 @@ var g = &grammar{ }, }, }, - &ruleRefExpr{ - pos: position{line: 316, col: 5, offset: 9755}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "AttributeName", - pos: position{line: 324, col: 1, offset: 10055}, - expr: &actionExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - run: (*parser).callonAttributeName1, - expr: &seqExpr{ - pos: position{line: 324, col: 18, offset: 10072}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 324, col: 18, offset: 10072}, - val: "[\\pL0-9_]", - 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: "[\\pL0-9-]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonAttributeDeclaration21, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, }, }, }, @@ -1626,9 +11619,492 @@ var g = &grammar{ &labeledExpr{ pos: position{line: 329, col: 5, offset: 10173}, label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 329, col: 15, offset: 10183}, - name: "AttributeDeclarationValueElements", + expr: &actionExpr{ + pos: position{line: 345, col: 5, offset: 10691}, + run: (*parser).callonAttributeDeclarationValue4, + expr: &labeledExpr{ + pos: position{line: 345, col: 5, offset: 10691}, + label: "elements", + expr: &zeroOrMoreExpr{ + pos: position{line: 345, col: 14, offset: 10700}, + expr: &actionExpr{ + pos: position{line: 350, col: 5, offset: 10831}, + run: (*parser).callonAttributeDeclarationValue7, + expr: &seqExpr{ + pos: position{line: 350, col: 5, offset: 10831}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 350, col: 5, offset: 10831}, + expr: &seqExpr{ + pos: position{line: 350, col: 7, offset: 10833}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 350, col: 7, offset: 10833}, + expr: &litMatcher{ + pos: position{line: 350, col: 7, offset: 10833}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 350, col: 13, offset: 10839}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonAttributeDeclarationValue14, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonAttributeDeclarationValue17, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 351, col: 5, offset: 10855}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 352, col: 9, offset: 10873}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 352, col: 10, offset: 10874}, + run: (*parser).callonAttributeDeclarationValue26, + expr: &oneOrMoreExpr{ + pos: position{line: 352, col: 10, offset: 10874}, + expr: &charClassMatcher{ + pos: position{line: 352, col: 10, offset: 10874}, + val: "[^\\r\\n{ ]", + chars: []rune{'\r', '\n', '{', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonAttributeDeclarationValue29, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonAttributeDeclarationValue31, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonAttributeDeclarationValue33, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonAttributeDeclarationValue36, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonAttributeDeclarationValue40, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonAttributeDeclarationValue47, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonAttributeDeclarationValue52, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonAttributeDeclarationValue54, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonAttributeDeclarationValue58, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonAttributeDeclarationValue62, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonAttributeDeclarationValue69, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonAttributeDeclarationValue74, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonAttributeDeclarationValue76, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonAttributeDeclarationValue80, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonAttributeDeclarationValue84, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonAttributeDeclarationValue90, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonAttributeDeclarationValue94, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 357, col: 12, offset: 11016}, + run: (*parser).callonAttributeDeclarationValue100, + expr: &litMatcher{ + pos: position{line: 357, col: 12, offset: 11016}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, &labeledExpr{ @@ -1638,7 +12114,7 @@ var g = &grammar{ pos: position{line: 330, col: 19, offset: 10237}, expr: &actionExpr{ pos: position{line: 331, col: 9, offset: 10247}, - run: (*parser).callonAttributeDeclarationValue7, + run: (*parser).callonAttributeDeclarationValue104, expr: &seqExpr{ pos: position{line: 331, col: 9, offset: 10247}, exprs: []interface{}{ @@ -1648,15 +12124,45 @@ var g = &grammar{ ignoreCase: false, want: "\"\\\\\"", }, - &ruleRefExpr{ - pos: position{line: 331, col: 14, offset: 10252}, - name: "Newline", + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonAttributeDeclarationValue107, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, &zeroOrMoreExpr{ pos: position{line: 332, col: 9, offset: 10269}, - expr: &ruleRefExpr{ - pos: position{line: 332, col: 9, offset: 10269}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonAttributeDeclarationValue113, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &labeledExpr{ @@ -1677,274 +12183,1002 @@ var g = &grammar{ }, }, { - name: "AttributeDeclarationValueElements", - pos: position{line: 344, col: 1, offset: 10649}, + name: "BlockAttributes", + pos: position{line: 373, col: 1, offset: 11621}, expr: &actionExpr{ - pos: position{line: 345, col: 5, offset: 10691}, - run: (*parser).callonAttributeDeclarationValueElements1, + pos: position{line: 374, col: 5, offset: 11644}, + run: (*parser).callonBlockAttributes1, expr: &labeledExpr{ - pos: position{line: 345, col: 5, offset: 10691}, - label: "elements", - expr: &zeroOrMoreExpr{ - pos: position{line: 345, col: 14, offset: 10700}, - expr: &ruleRefExpr{ - pos: position{line: 345, col: 15, offset: 10701}, - name: "AttributeDeclarationValueElement", - }, - }, - }, - }, - }, - { - name: "AttributeDeclarationValueElement", - pos: position{line: 349, col: 1, offset: 10790}, - expr: &actionExpr{ - pos: position{line: 350, col: 5, offset: 10831}, - run: (*parser).callonAttributeDeclarationValueElement1, - expr: &seqExpr{ - pos: position{line: 350, col: 5, offset: 10831}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 350, col: 5, offset: 10831}, - expr: &seqExpr{ - pos: position{line: 350, col: 7, offset: 10833}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 350, col: 7, offset: 10833}, - expr: &litMatcher{ - pos: position{line: 350, col: 7, offset: 10833}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 350, col: 13, offset: 10839}, - expr: &ruleRefExpr{ - pos: position{line: 350, col: 13, offset: 10839}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 350, col: 20, offset: 10846}, - name: "EOL", - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 351, col: 5, offset: 10855}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 352, col: 9, offset: 10873}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 352, col: 10, offset: 10874}, - run: (*parser).callonAttributeDeclarationValueElement12, - expr: &oneOrMoreExpr{ - pos: position{line: 352, col: 10, offset: 10874}, - expr: &charClassMatcher{ - pos: position{line: 352, col: 10, offset: 10874}, - val: "[^\\r\\n{ ]", - chars: []rune{'\r', '\n', '{', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 355, col: 11, offset: 10970}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 356, col: 11, offset: 10986}, - name: "AttributeReference", - }, - &actionExpr{ - pos: position{line: 357, col: 12, offset: 11016}, - run: (*parser).callonAttributeDeclarationValueElement17, - expr: &litMatcher{ - pos: position{line: 357, col: 12, offset: 11016}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "AttributeReset", - pos: position{line: 364, col: 1, offset: 11153}, - expr: &choiceExpr{ - pos: position{line: 364, col: 19, offset: 11171}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 364, col: 19, offset: 11171}, - run: (*parser).callonAttributeReset2, - expr: &seqExpr{ - pos: position{line: 364, col: 19, offset: 11171}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 364, col: 19, offset: 11171}, - val: ":!", - ignoreCase: false, - want: "\":!\"", - }, - &labeledExpr{ - pos: position{line: 364, col: 24, offset: 11176}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 364, col: 30, offset: 11182}, - name: "AttributeName", - }, - }, - &litMatcher{ - pos: position{line: 364, col: 45, offset: 11197}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 364, col: 49, offset: 11201}, - expr: &ruleRefExpr{ - pos: position{line: 364, col: 49, offset: 11201}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 364, col: 56, offset: 11208}, - name: "EOL", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 366, col: 9, offset: 11292}, - run: (*parser).callonAttributeReset11, - expr: &seqExpr{ - pos: position{line: 366, col: 9, offset: 11292}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 366, col: 9, offset: 11292}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 366, col: 13, offset: 11296}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 366, col: 19, offset: 11302}, - name: "AttributeName", - }, - }, - &litMatcher{ - pos: position{line: 366, col: 34, offset: 11317}, - val: "!:", - ignoreCase: false, - want: "\"!:\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 366, col: 39, offset: 11322}, - expr: &ruleRefExpr{ - pos: position{line: 366, col: 39, offset: 11322}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 366, col: 46, offset: 11329}, - name: "EOL", - }, - }, - }, - }, - }, - }, - }, - { - name: "BlockAttributes", - pos: position{line: 373, col: 1, offset: 11621}, - expr: &actionExpr{ - pos: position{line: 374, col: 5, offset: 11644}, - run: (*parser).callonBlockAttributes1, - expr: &labeledExpr{ - pos: position{line: 374, col: 5, offset: 11644}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 374, col: 16, offset: 11655}, - expr: &choiceExpr{ - pos: position{line: 376, col: 9, offset: 11722}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 376, col: 10, offset: 11723}, - run: (*parser).callonBlockAttributes5, - expr: &seqExpr{ - pos: position{line: 376, col: 10, offset: 11723}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 376, col: 10, offset: 11723}, - label: "anchor", - expr: &ruleRefExpr{ - pos: position{line: 376, col: 18, offset: 11731}, - name: "LegacyElementID", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 376, col: 35, offset: 11748}, - expr: &ruleRefExpr{ - pos: position{line: 376, col: 35, offset: 11748}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 376, col: 42, offset: 11755}, - name: "EOL", - }, - &zeroOrMoreExpr{ - pos: position{line: 376, col: 46, offset: 11759}, - expr: &ruleRefExpr{ - pos: position{line: 376, col: 46, offset: 11759}, - name: "BlankLine", - }, + pos: position{line: 374, col: 5, offset: 11644}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 374, col: 16, offset: 11655}, + expr: &choiceExpr{ + pos: position{line: 376, col: 9, offset: 11722}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 376, col: 10, offset: 11723}, + run: (*parser).callonBlockAttributes5, + expr: &seqExpr{ + pos: position{line: 376, col: 10, offset: 11723}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 376, col: 10, offset: 11723}, + label: "anchor", + expr: &actionExpr{ + pos: position{line: 408, col: 5, offset: 12598}, + run: (*parser).callonBlockAttributes8, + expr: &seqExpr{ + pos: position{line: 408, col: 5, offset: 12598}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 408, col: 5, offset: 12598}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 409, col: 5, offset: 12608}, + label: "id", + expr: &actionExpr{ + pos: position{line: 410, col: 9, offset: 12621}, + run: (*parser).callonBlockAttributes12, + expr: &labeledExpr{ + pos: position{line: 410, col: 9, offset: 12621}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 410, col: 18, offset: 12630}, + expr: &choiceExpr{ + pos: position{line: 411, col: 13, offset: 12644}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 411, col: 14, offset: 12645}, + run: (*parser).callonBlockAttributes16, + expr: &oneOrMoreExpr{ + pos: position{line: 411, col: 14, offset: 12645}, + expr: &charClassMatcher{ + pos: position{line: 411, col: 14, offset: 12645}, + val: "[^=\\r\\n�{]]", + chars: []rune{'=', '\r', '\n', '�', '{', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonBlockAttributes19, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonBlockAttributes23, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonBlockAttributes27, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonBlockAttributes29, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonBlockAttributes32, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonBlockAttributes36, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonBlockAttributes43, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonBlockAttributes48, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonBlockAttributes50, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonBlockAttributes54, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonBlockAttributes58, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonBlockAttributes65, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonBlockAttributes70, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonBlockAttributes72, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonBlockAttributes76, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonBlockAttributes80, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonBlockAttributes86, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonBlockAttributes90, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 416, col: 16, offset: 12878}, + run: (*parser).callonBlockAttributes96, + expr: &litMatcher{ + pos: position{line: 416, col: 16, offset: 12878}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 422, col: 5, offset: 13064}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 376, col: 35, offset: 11748}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonBlockAttributes100, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonBlockAttributes103, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 376, col: 46, offset: 11759}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonBlockAttributes111, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonBlockAttributes117, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonBlockAttributes120, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, &actionExpr{ pos: position{line: 380, col: 12, offset: 11880}, - run: (*parser).callonBlockAttributes14, + run: (*parser).callonBlockAttributes127, expr: &seqExpr{ pos: position{line: 380, col: 12, offset: 11880}, exprs: []interface{}{ &labeledExpr{ pos: position{line: 380, col: 12, offset: 11880}, label: "title", - expr: &ruleRefExpr{ - pos: position{line: 380, col: 19, offset: 11887}, - name: "ShortHandTitle", + expr: &actionExpr{ + pos: position{line: 427, col: 19, offset: 13183}, + run: (*parser).callonBlockAttributes130, + expr: &seqExpr{ + pos: position{line: 427, col: 19, offset: 13183}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 427, col: 19, offset: 13183}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + ¬Expr{ + pos: position{line: 428, col: 5, offset: 13192}, + expr: &charClassMatcher{ + pos: position{line: 428, col: 6, offset: 13193}, + val: "[. ]", + chars: []rune{'.', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 429, col: 5, offset: 13305}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 429, col: 14, offset: 13314}, + expr: &choiceExpr{ + pos: position{line: 430, col: 9, offset: 13324}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + run: (*parser).callonBlockAttributes138, + expr: &seqExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + expr: &charClassMatcher{ + pos: position{line: 3052, col: 5, offset: 98799}, + val: "[,;!?0-9\\pL]", + chars: []rune{',', ';', '!', '?'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &choiceExpr{ + pos: position{line: 3053, col: 6, offset: 98849}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonBlockAttributes143, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3053, col: 14, offset: 98857}, + expr: &choiceExpr{ + pos: position{line: 3053, col: 16, offset: 98859}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3053, col: 16, offset: 98859}, + val: "[.�]", + chars: []rune{'.', '�'}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonBlockAttributes148, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonBlockAttributes155, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonBlockAttributes157, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonBlockAttributes161, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonBlockAttributes167, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonBlockAttributes171, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 433, col: 12, offset: 13396}, + run: (*parser).callonBlockAttributes177, + expr: &charClassMatcher{ + pos: position{line: 433, col: 12, offset: 13396}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, }, }, &zeroOrMoreExpr{ pos: position{line: 380, col: 35, offset: 11903}, - expr: &ruleRefExpr{ - pos: position{line: 380, col: 35, offset: 11903}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonBlockAttributes180, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, - &ruleRefExpr{ - pos: position{line: 380, col: 42, offset: 11910}, - name: "EOL", + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonBlockAttributes183, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, &zeroOrMoreExpr{ pos: position{line: 380, col: 46, offset: 11914}, - expr: &ruleRefExpr{ - pos: position{line: 380, col: 46, offset: 11914}, - name: "BlankLine", + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonBlockAttributes191, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonBlockAttributes197, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonBlockAttributes200, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, }, @@ -1952,7 +13186,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 384, col: 12, offset: 12004}, - run: (*parser).callonBlockAttributes23, + run: (*parser).callonBlockAttributes207, expr: &seqExpr{ pos: position{line: 384, col: 12, offset: 12004}, exprs: []interface{}{ @@ -1966,20 +13200,127 @@ var g = &grammar{ }, &zeroOrMoreExpr{ pos: position{line: 384, col: 44, offset: 12036}, - expr: &ruleRefExpr{ - pos: position{line: 384, col: 44, offset: 12036}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonBlockAttributes212, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, - &ruleRefExpr{ - pos: position{line: 384, col: 51, offset: 12043}, - name: "EOL", + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonBlockAttributes215, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, &zeroOrMoreExpr{ pos: position{line: 384, col: 55, offset: 12047}, - expr: &ruleRefExpr{ - pos: position{line: 384, col: 55, offset: 12047}, - name: "BlankLine", + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonBlockAttributes223, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonBlockAttributes229, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonBlockAttributes232, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, }, @@ -2059,177 +13400,36 @@ var g = &grammar{ }, }, { - name: "LegacyElementID", - pos: position{line: 407, col: 1, offset: 12575}, + name: "LongHandAttributes", + pos: position{line: 440, col: 1, offset: 13717}, expr: &actionExpr{ - pos: position{line: 408, col: 5, offset: 12598}, - run: (*parser).callonLegacyElementID1, + pos: position{line: 441, col: 5, offset: 13743}, + run: (*parser).callonLongHandAttributes1, expr: &seqExpr{ - pos: position{line: 408, col: 5, offset: 12598}, + pos: position{line: 441, col: 5, offset: 13743}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 408, col: 5, offset: 12598}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 409, col: 5, offset: 12608}, - label: "id", - expr: &actionExpr{ - pos: position{line: 410, col: 9, offset: 12621}, - run: (*parser).callonLegacyElementID5, - expr: &labeledExpr{ - pos: position{line: 410, col: 9, offset: 12621}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 410, col: 18, offset: 12630}, - expr: &choiceExpr{ - pos: position{line: 411, col: 13, offset: 12644}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 411, col: 14, offset: 12645}, - run: (*parser).callonLegacyElementID9, - expr: &oneOrMoreExpr{ - pos: position{line: 411, col: 14, offset: 12645}, - expr: &charClassMatcher{ - pos: position{line: 411, col: 14, offset: 12645}, - val: "[^=\\r\\n\\uFFFD{\\]]", - chars: []rune{'=', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 414, col: 15, offset: 12811}, - name: "ElementPlaceHolder", - }, - &ruleRefExpr{ - pos: position{line: 415, col: 15, offset: 12844}, - name: "AttributeReference", - }, - &actionExpr{ - pos: position{line: 416, col: 16, offset: 12878}, - run: (*parser).callonLegacyElementID14, - expr: &litMatcher{ - pos: position{line: 416, col: 16, offset: 12878}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, + ¬Expr{ + pos: position{line: 441, col: 5, offset: 13743}, + expr: &litMatcher{ + pos: position{line: 441, col: 6, offset: 13744}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, &litMatcher{ - pos: position{line: 422, col: 5, offset: 13064}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - }, - { - name: "ShortHandTitle", - pos: position{line: 427, col: 1, offset: 13165}, - expr: &actionExpr{ - pos: position{line: 427, col: 19, offset: 13183}, - run: (*parser).callonShortHandTitle1, - expr: &seqExpr{ - pos: position{line: 427, col: 19, offset: 13183}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 427, col: 19, offset: 13183}, - val: ".", + pos: position{line: 441, col: 10, offset: 13748}, + val: "[", ignoreCase: false, - want: "\".\"", + want: "\"[\"", }, ¬Expr{ - pos: position{line: 428, col: 5, offset: 13192}, - expr: &charClassMatcher{ - pos: position{line: 428, col: 6, offset: 13193}, - val: "[. ]", - chars: []rune{'.', ' '}, + pos: position{line: 441, col: 14, offset: 13752}, + expr: &litMatcher{ + pos: position{line: 441, col: 15, offset: 13753}, + val: "[", ignoreCase: false, - inverted: false, - }, - }, - &labeledExpr{ - pos: position{line: 429, col: 5, offset: 13305}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 429, col: 14, offset: 13314}, - expr: &choiceExpr{ - pos: position{line: 430, col: 9, offset: 13324}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 430, col: 9, offset: 13324}, - name: "InlineWord", - }, - &ruleRefExpr{ - pos: position{line: 431, col: 11, offset: 13345}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 432, col: 11, offset: 13361}, - name: "AttributeReferenceValue", - }, - &actionExpr{ - pos: position{line: 433, col: 12, offset: 13396}, - run: (*parser).callonShortHandTitle12, - expr: &charClassMatcher{ - pos: position{line: 433, col: 12, offset: 13396}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "LongHandAttributes", - pos: position{line: 440, col: 1, offset: 13717}, - expr: &actionExpr{ - pos: position{line: 441, col: 5, offset: 13743}, - run: (*parser).callonLongHandAttributes1, - expr: &seqExpr{ - pos: position{line: 441, col: 5, offset: 13743}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 441, col: 5, offset: 13743}, - expr: &litMatcher{ - pos: position{line: 441, col: 6, offset: 13744}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &litMatcher{ - pos: position{line: 441, col: 10, offset: 13748}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - ¬Expr{ - pos: position{line: 441, col: 14, offset: 13752}, - expr: &litMatcher{ - pos: position{line: 441, col: 15, offset: 13753}, - val: "[", - ignoreCase: false, - want: "\"[\"", + want: "\"[\"", }, }, &labeledExpr{ @@ -2361,9 +13561,16 @@ var g = &grammar{ }, &zeroOrMoreExpr{ pos: position{line: 469, col: 13, offset: 14804}, - expr: &ruleRefExpr{ - pos: position{line: 469, col: 13, offset: 14804}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonFirstPositionalAttributes23, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -2371,7 +13578,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 470, col: 5, offset: 14818}, - run: (*parser).callonFirstPositionalAttributes24, + run: (*parser).callonFirstPositionalAttributes25, }, }, }, @@ -2502,31 +13709,417 @@ var g = &grammar{ expr: &choiceExpr{ pos: position{line: 511, col: 9, offset: 16100}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 511, col: 9, offset: 16100}, - name: "QuotationMark", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonShortHandAttributeValue9, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonShortHandAttributeValue11, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonShortHandAttributeValue13, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonShortHandAttributeValue15, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, }, &actionExpr{ pos: position{line: 512, col: 12, offset: 16126}, - run: (*parser).callonShortHandAttributeValue10, + run: (*parser).callonShortHandAttributeValue17, expr: &oneOrMoreExpr{ pos: position{line: 512, col: 12, offset: 16126}, expr: &charClassMatcher{ pos: position{line: 512, col: 12, offset: 16126}, - val: "[^,=.%# \\r\\n\\uFFFD{\\]]", + val: "[^,=.%# \\r\\n�{]]", chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, ignoreCase: false, inverted: true, }, }, }, - &ruleRefExpr{ - pos: position{line: 516, col: 11, offset: 16264}, - name: "AttributeReference", + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonShortHandAttributeValue20, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonShortHandAttributeValue22, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonShortHandAttributeValue25, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonShortHandAttributeValue29, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonShortHandAttributeValue36, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonShortHandAttributeValue41, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonShortHandAttributeValue43, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonShortHandAttributeValue47, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonShortHandAttributeValue51, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonShortHandAttributeValue58, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonShortHandAttributeValue63, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonShortHandAttributeValue65, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonShortHandAttributeValue69, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonShortHandAttributeValue73, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonShortHandAttributeValue79, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonShortHandAttributeValue83, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, }, &actionExpr{ pos: position{line: 517, col: 12, offset: 16294}, - run: (*parser).callonShortHandAttributeValue14, + run: (*parser).callonShortHandAttributeValue89, expr: &litMatcher{ pos: position{line: 517, col: 12, offset: 16294}, val: "{", @@ -2547,9 +14140,16 @@ var g = &grammar{ exprs: []interface{}{ &zeroOrMoreExpr{ pos: position{line: 521, col: 9, offset: 16386}, - expr: &ruleRefExpr{ - pos: position{line: 521, col: 9, offset: 16386}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonShortHandAttributeValue95, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &litMatcher{ @@ -2604,9 +14204,16 @@ var g = &grammar{ }, &zeroOrMoreExpr{ pos: position{line: 527, col: 34, offset: 16529}, - expr: &ruleRefExpr{ - pos: position{line: 527, col: 34, offset: 16529}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonPositionalAttribute11, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -2628,7 +14235,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 532, col: 6, offset: 16778}, - run: (*parser).callonPositionalAttribute14, + run: (*parser).callonPositionalAttribute15, expr: &seqExpr{ pos: position{line: 532, col: 6, offset: 16778}, exprs: []interface{}{ @@ -2640,9 +14247,16 @@ var g = &grammar{ exprs: []interface{}{ &zeroOrMoreExpr{ pos: position{line: 532, col: 13, offset: 16785}, - expr: &ruleRefExpr{ - pos: position{line: 532, col: 13, offset: 16785}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonPositionalAttribute20, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &choiceExpr{ @@ -2659,9 +14273,16 @@ var g = &grammar{ }, &zeroOrMoreExpr{ pos: position{line: 532, col: 26, offset: 16798}, - expr: &ruleRefExpr{ - pos: position{line: 532, col: 26, offset: 16798}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonPositionalAttribute26, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -2682,7 +14303,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 533, col: 5, offset: 16819}, - run: (*parser).callonPositionalAttribute27, + run: (*parser).callonPositionalAttribute30, }, }, }, @@ -2702,9 +14323,52 @@ var g = &grammar{ &labeledExpr{ pos: position{line: 544, col: 5, offset: 17157}, label: "key", - expr: &ruleRefExpr{ - pos: position{line: 544, col: 10, offset: 17162}, - name: "NamedAttributeKey", + expr: &actionExpr{ + pos: position{line: 552, col: 22, offset: 17445}, + run: (*parser).callonNamedAttribute4, + expr: &seqExpr{ + pos: position{line: 552, col: 22, offset: 17445}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 552, col: 22, offset: 17445}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonNamedAttribute7, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 552, col: 29, offset: 17452}, + expr: &charClassMatcher{ + pos: position{line: 552, col: 29, offset: 17452}, + val: "[^\\r\\n=,]]", + chars: []rune{'\r', '\n', '=', ',', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 552, col: 42, offset: 17465}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonNamedAttribute12, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, &litMatcher{ @@ -2715,9 +14379,16 @@ var g = &grammar{ }, &zeroOrMoreExpr{ pos: position{line: 545, col: 9, offset: 17190}, - expr: &ruleRefExpr{ - pos: position{line: 545, col: 9, offset: 17190}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonNamedAttribute16, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &labeledExpr{ @@ -2741,9 +14412,16 @@ var g = &grammar{ }, &zeroOrMoreExpr{ pos: position{line: 546, col: 33, offset: 17230}, - expr: &ruleRefExpr{ - pos: position{line: 546, col: 33, offset: 17230}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonNamedAttribute24, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -2753,43 +14431,6 @@ var g = &grammar{ }, }, }, - { - name: "NamedAttributeKey", - pos: position{line: 552, col: 1, offset: 17424}, - expr: &actionExpr{ - pos: position{line: 552, col: 22, offset: 17445}, - run: (*parser).callonNamedAttributeKey1, - expr: &seqExpr{ - pos: position{line: 552, col: 22, offset: 17445}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 552, col: 22, offset: 17445}, - expr: &ruleRefExpr{ - pos: position{line: 552, col: 23, offset: 17446}, - name: "Space", - }, - }, - &oneOrMoreExpr{ - pos: position{line: 552, col: 29, offset: 17452}, - expr: &charClassMatcher{ - pos: position{line: 552, col: 29, offset: 17452}, - val: "[^\\r\\n=,\\]]", - chars: []rune{'\r', '\n', '=', ',', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 552, col: 42, offset: 17465}, - expr: &ruleRefExpr{ - pos: position{line: 552, col: 42, offset: 17465}, - name: "Space", - }, - }, - }, - }, - }, - }, { name: "AttributeValue", pos: position{line: 556, col: 1, offset: 17535}, @@ -2829,9 +14470,16 @@ var g = &grammar{ exprs: []interface{}{ &zeroOrMoreExpr{ pos: position{line: 562, col: 9, offset: 17688}, - expr: &ruleRefExpr{ - pos: position{line: 562, col: 9, offset: 17688}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonAttributeValue12, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &litMatcher{ @@ -2904,29 +14552,433 @@ var g = &grammar{ expr: &choiceExpr{ pos: position{line: 575, col: 9, offset: 18005}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 575, col: 9, offset: 18005}, - name: "Alphanums", + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonSingleQuotedAttributeValueContent5, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 576, col: 11, offset: 18025}, - name: "Space", + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuotedAttributeValueContent8, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, &ruleRefExpr{ pos: position{line: 577, col: 11, offset: 18041}, name: "Quote", }, - &ruleRefExpr{ - pos: position{line: 578, col: 11, offset: 18057}, - name: "QuotationMark", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuotedAttributeValueContent11, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 579, col: 11, offset: 18081}, - name: "AttributeReference", + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuotedAttributeValueContent13, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuotedAttributeValueContent15, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuotedAttributeValueContent17, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuotedAttributeValueContent19, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuotedAttributeValueContent21, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonSingleQuotedAttributeValueContent24, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuotedAttributeValueContent28, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuotedAttributeValueContent35, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuotedAttributeValueContent40, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuotedAttributeValueContent42, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonSingleQuotedAttributeValueContent46, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuotedAttributeValueContent50, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuotedAttributeValueContent57, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuotedAttributeValueContent62, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuotedAttributeValueContent64, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuotedAttributeValueContent68, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuotedAttributeValueContent72, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuotedAttributeValueContent78, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuotedAttributeValueContent82, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, }, &actionExpr{ pos: position{line: 580, col: 12, offset: 18111}, - run: (*parser).callonSingleQuotedAttributeValueContent10, + run: (*parser).callonSingleQuotedAttributeValueContent88, expr: &litMatcher{ pos: position{line: 580, col: 12, offset: 18111}, val: "\\'", @@ -2934,42 +14986,37 @@ var g = &grammar{ want: "\"\\\\'\"", }, }, - &choiceExpr{ - pos: position{line: 583, col: 13, offset: 18213}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 583, col: 13, offset: 18213}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 583, col: 20, offset: 18220}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 583, col: 27, offset: 18227}, - run: (*parser).callonSingleQuotedAttributeValueContent15, - expr: &litMatcher{ - pos: position{line: 583, col: 27, offset: 18227}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, + &litMatcher{ + pos: position{line: 583, col: 13, offset: 18213}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + &litMatcher{ + pos: position{line: 583, col: 20, offset: 18220}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + &actionExpr{ + pos: position{line: 583, col: 27, offset: 18227}, + run: (*parser).callonSingleQuotedAttributeValueContent92, + expr: &litMatcher{ + pos: position{line: 583, col: 27, offset: 18227}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, &actionExpr{ pos: position{line: 586, col: 12, offset: 18387}, - run: (*parser).callonSingleQuotedAttributeValueContent17, + run: (*parser).callonSingleQuotedAttributeValueContent94, expr: &oneOrMoreExpr{ pos: position{line: 586, col: 12, offset: 18387}, expr: &charClassMatcher{ pos: position{line: 586, col: 12, offset: 18387}, - val: "[^\\r\\n\\\\'' ]", - chars: []rune{'\r', '\n', '\\', '\'', '\'', ' '}, + val: "[^\\r\\n\\\\\\ ]", + chars: []rune{'\r', '\n', '\\', '\'', ' '}, ignoreCase: false, inverted: true, }, @@ -3028,9 +15075,16 @@ var g = &grammar{ exprs: []interface{}{ &zeroOrMoreExpr{ pos: position{line: 596, col: 14, offset: 18761}, - expr: &ruleRefExpr{ - pos: position{line: 596, col: 14, offset: 18761}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuotedAttributeValue13, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &litMatcher{ @@ -3061,29 +15115,433 @@ var g = &grammar{ expr: &choiceExpr{ pos: position{line: 602, col: 9, offset: 18872}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 602, col: 9, offset: 18872}, - name: "Alphanums", + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonDoubleQuotedAttributeValueContent5, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 603, col: 11, offset: 18892}, - name: "Space", + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuotedAttributeValueContent8, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, &ruleRefExpr{ pos: position{line: 604, col: 11, offset: 18908}, name: "Quote", }, - &ruleRefExpr{ - pos: position{line: 605, col: 11, offset: 18924}, - name: "QuotationMark", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuotedAttributeValueContent11, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 606, col: 11, offset: 18948}, - name: "AttributeReference", + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuotedAttributeValueContent13, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuotedAttributeValueContent15, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuotedAttributeValueContent17, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuotedAttributeValueContent19, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuotedAttributeValueContent21, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonDoubleQuotedAttributeValueContent24, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuotedAttributeValueContent28, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuotedAttributeValueContent35, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuotedAttributeValueContent40, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuotedAttributeValueContent42, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonDoubleQuotedAttributeValueContent46, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuotedAttributeValueContent50, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuotedAttributeValueContent57, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuotedAttributeValueContent62, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuotedAttributeValueContent64, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuotedAttributeValueContent68, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuotedAttributeValueContent72, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuotedAttributeValueContent78, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuotedAttributeValueContent82, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, }, &actionExpr{ pos: position{line: 607, col: 12, offset: 18979}, - run: (*parser).callonDoubleQuotedAttributeValueContent10, + run: (*parser).callonDoubleQuotedAttributeValueContent88, expr: &litMatcher{ pos: position{line: 607, col: 12, offset: 18979}, val: "\\\"", @@ -3091,42 +15549,37 @@ var g = &grammar{ want: "\"\\\\\\\"\"", }, }, - &choiceExpr{ - pos: position{line: 610, col: 13, offset: 19081}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 610, col: 13, offset: 19081}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 610, col: 21, offset: 19089}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 610, col: 29, offset: 19097}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 610, col: 35, offset: 19103}, - run: (*parser).callonDoubleQuotedAttributeValueContent16, - expr: &litMatcher{ - pos: position{line: 610, col: 35, offset: 19103}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, + &litMatcher{ + pos: position{line: 610, col: 13, offset: 19081}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + &litMatcher{ + pos: position{line: 610, col: 21, offset: 19089}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + &litMatcher{ + pos: position{line: 610, col: 29, offset: 19097}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &actionExpr{ + pos: position{line: 610, col: 35, offset: 19103}, + run: (*parser).callonDoubleQuotedAttributeValueContent93, + expr: &litMatcher{ + pos: position{line: 610, col: 35, offset: 19103}, + val: "`", + ignoreCase: false, + want: "\"`\"", }, }, &actionExpr{ pos: position{line: 613, col: 12, offset: 19286}, - run: (*parser).callonDoubleQuotedAttributeValueContent18, + run: (*parser).callonDoubleQuotedAttributeValueContent95, expr: &oneOrMoreExpr{ pos: position{line: 613, col: 12, offset: 19286}, expr: &charClassMatcher{ @@ -3155,9 +15608,16 @@ var g = &grammar{ exprs: []interface{}{ ¬Expr{ pos: position{line: 624, col: 5, offset: 19744}, - expr: &ruleRefExpr{ - pos: position{line: 624, col: 6, offset: 19745}, - name: "Space", + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonUnquotedAttributeValue4, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &labeledExpr{ @@ -3191,57 +15651,434 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 628, col: 12, offset: 19959}, - run: (*parser).callonUnquotedAttributeValue12, + run: (*parser).callonUnquotedAttributeValue13, expr: &oneOrMoreExpr{ pos: position{line: 628, col: 12, offset: 19959}, expr: &charClassMatcher{ pos: position{line: 628, col: 12, offset: 19959}, - val: "[^=,\\uFFFD\\]{'\"` ]", + val: "[^=,�]{\\\"` ]", chars: []rune{'=', ',', '�', ']', '{', '\'', '"', '`', ' '}, ignoreCase: false, inverted: true, }, }, }, - &ruleRefExpr{ - pos: position{line: 631, col: 11, offset: 20109}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 632, col: 11, offset: 20125}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 633, col: 11, offset: 20154}, - name: "QuotationMark", + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonUnquotedAttributeValue16, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, &actionExpr{ - pos: position{line: 634, col: 11, offset: 20178}, + pos: position{line: 647, col: 5, offset: 20685}, run: (*parser).callonUnquotedAttributeValue18, - expr: &choiceExpr{ - pos: position{line: 634, col: 12, offset: 20179}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 634, col: 12, offset: 20179}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &litMatcher{ - pos: position{line: 634, col: 18, offset: 20185}, - val: "`", - ignoreCase: false, - want: "\"`\"", + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonUnquotedAttributeValue20, }, - &litMatcher{ - pos: position{line: 634, col: 24, offset: 20191}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonUnquotedAttributeValue23, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonUnquotedAttributeValue27, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonUnquotedAttributeValue34, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonUnquotedAttributeValue39, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonUnquotedAttributeValue41, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonUnquotedAttributeValue45, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonUnquotedAttributeValue49, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonUnquotedAttributeValue56, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonUnquotedAttributeValue61, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonUnquotedAttributeValue63, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonUnquotedAttributeValue67, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonUnquotedAttributeValue71, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonUnquotedAttributeValue77, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonUnquotedAttributeValue81, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, }, }, }, }, + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonUnquotedAttributeValue87, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonUnquotedAttributeValue89, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonUnquotedAttributeValue91, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonUnquotedAttributeValue93, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 634, col: 11, offset: 20178}, + run: (*parser).callonUnquotedAttributeValue95, + expr: &charClassMatcher{ + pos: position{line: 634, col: 12, offset: 20179}, + val: "[\\`\"]", + chars: []rune{'\'', '`', '"'}, + ignoreCase: false, + inverted: false, + }, + }, &litMatcher{ pos: position{line: 637, col: 11, offset: 20311}, val: "{", @@ -3257,363 +16094,218 @@ var g = &grammar{ }, }, { - name: "AttributeReference", - pos: position{line: 645, col: 1, offset: 20597}, - expr: &actionExpr{ - pos: position{line: 647, col: 5, offset: 20685}, - run: (*parser).callonAttributeReference1, - expr: &seqExpr{ - pos: position{line: 647, col: 5, offset: 20685}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 647, col: 5, offset: 20685}, - run: (*parser).callonAttributeReference3, - }, - &labeledExpr{ - pos: position{line: 650, col: 5, offset: 20757}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 650, col: 14, offset: 20766}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 650, col: 14, offset: 20766}, - name: "CounterReference", - }, - &ruleRefExpr{ - pos: position{line: 650, col: 33, offset: 20785}, - name: "AttributeReferenceValue", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "AttributeReferenceValue", - pos: position{line: 654, col: 1, offset: 20847}, + name: "CrossReference", + pos: position{line: 696, col: 1, offset: 22376}, expr: &choiceExpr{ - pos: position{line: 656, col: 5, offset: 20895}, + pos: position{line: 696, col: 19, offset: 22394}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 656, col: 5, offset: 20895}, - run: (*parser).callonAttributeReferenceValue2, + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonCrossReference2, expr: &seqExpr{ - pos: position{line: 656, col: 5, offset: 20895}, + pos: position{line: 698, col: 27, offset: 22470}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 5, offset: 20895}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &litMatcher{ - pos: position{line: 656, col: 9, offset: 20899}, - val: "{", + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", ignoreCase: false, - want: "\"{\"", + want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 656, col: 13, offset: 20903}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 656, col: 18, offset: 20908}, - name: "AttributeName", + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonCrossReference6, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, }, }, - &litMatcher{ - pos: position{line: 656, col: 32, offset: 20922}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 663, col: 5, offset: 21163}, - run: (*parser).callonAttributeReferenceValue9, - expr: &seqExpr{ - pos: position{line: 663, col: 5, offset: 21163}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 5, offset: 21163}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 9, offset: 21167}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 663, col: 14, offset: 21172}, - name: "AttributeName", + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonCrossReference10, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &litMatcher{ - pos: position{line: 663, col: 28, offset: 21186}, - val: "}", + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - { - name: "CounterReference", - pos: position{line: 668, col: 1, offset: 21330}, - expr: &choiceExpr{ - pos: position{line: 668, col: 21, offset: 21350}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 668, col: 21, offset: 21350}, - name: "CounterSubstitution1", - }, - &ruleRefExpr{ - pos: position{line: 668, col: 44, offset: 21373}, - name: "CounterSubstitution2", - }, - }, - }, - }, - { - name: "CounterSubstitution1", - pos: position{line: 670, col: 1, offset: 21395}, - expr: &actionExpr{ - pos: position{line: 670, col: 25, offset: 21419}, - run: (*parser).callonCounterSubstitution11, - expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21419}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 670, col: 25, offset: 21419}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 670, col: 37, offset: 21431}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 670, col: 42, offset: 21436}, - name: "AttributeName", - }, - }, - &labeledExpr{ - pos: position{line: 670, col: 56, offset: 21450}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 62, offset: 21456}, - expr: &ruleRefExpr{ - pos: position{line: 670, col: 63, offset: 21457}, - name: "CounterStart", - }, - }, - }, - &litMatcher{ - pos: position{line: 670, col: 78, offset: 21472}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - { - name: "CounterSubstitution2", - pos: position{line: 674, col: 1, offset: 21566}, - expr: &actionExpr{ - pos: position{line: 674, col: 25, offset: 21590}, - run: (*parser).callonCounterSubstitution21, - expr: &seqExpr{ - pos: position{line: 674, col: 25, offset: 21590}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 674, col: 25, offset: 21590}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 674, col: 38, offset: 21603}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 674, col: 43, offset: 21608}, - name: "AttributeName", - }, - }, - &labeledExpr{ - pos: position{line: 674, col: 57, offset: 21622}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 674, col: 63, offset: 21628}, - expr: &ruleRefExpr{ - pos: position{line: 674, col: 64, offset: 21629}, - name: "CounterStart", - }, - }, - }, - &litMatcher{ - pos: position{line: 674, col: 79, offset: 21644}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - { - name: "CounterStart", - pos: position{line: 678, col: 1, offset: 21735}, - expr: &actionExpr{ - pos: position{line: 678, col: 17, offset: 21751}, - run: (*parser).callonCounterStart1, - expr: &seqExpr{ - pos: position{line: 678, col: 17, offset: 21751}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 678, col: 17, offset: 21751}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 678, col: 21, offset: 21755}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 678, col: 28, offset: 21762}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 678, col: 28, offset: 21762}, - run: (*parser).callonCounterStart6, - expr: &charClassMatcher{ - pos: position{line: 678, col: 28, offset: 21762}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 680, col: 9, offset: 21816}, - run: (*parser).callonCounterStart8, - expr: &oneOrMoreExpr{ - pos: position{line: 680, col: 9, offset: 21816}, - expr: &charClassMatcher{ - pos: position{line: 680, col: 9, offset: 21816}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "BlankLine", - pos: position{line: 689, col: 1, offset: 22104}, - expr: &actionExpr{ - pos: position{line: 689, col: 14, offset: 22117}, - run: (*parser).callonBlankLine1, - expr: &seqExpr{ - pos: position{line: 689, col: 14, offset: 22117}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 689, col: 14, offset: 22117}, - expr: &ruleRefExpr{ - pos: position{line: 689, col: 15, offset: 22118}, - name: "EOF", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 689, col: 19, offset: 22122}, - expr: &ruleRefExpr{ - pos: position{line: 689, col: 19, offset: 22122}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 689, col: 26, offset: 22129}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "CrossReference", - pos: position{line: 696, col: 1, offset: 22376}, - expr: &choiceExpr{ - pos: position{line: 696, col: 19, offset: 22394}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 696, col: 19, offset: 22394}, - name: "InternalCrossReference", - }, - &ruleRefExpr{ - pos: position{line: 696, col: 44, offset: 22419}, - name: "ExternalCrossReference", - }, - }, - }, - }, - { - name: "InternalCrossReference", - pos: position{line: 698, col: 1, offset: 22444}, - expr: &choiceExpr{ - pos: position{line: 698, col: 27, offset: 22470}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 698, col: 27, offset: 22470}, - run: (*parser).callonInternalCrossReference2, - expr: &seqExpr{ - pos: position{line: 698, col: 27, offset: 22470}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 698, col: 27, offset: 22470}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 698, col: 32, offset: 22475}, - label: "id", - expr: &ruleRefExpr{ - pos: position{line: 698, col: 36, offset: 22479}, - name: "Id", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 698, col: 40, offset: 22483}, - expr: &ruleRefExpr{ - pos: position{line: 698, col: 40, offset: 22483}, - name: "Space", - }, - }, - &litMatcher{ - pos: position{line: 698, col: 47, offset: 22490}, - val: ",", - ignoreCase: false, - want: "\",\"", + want: "\",\"", }, &labeledExpr{ pos: position{line: 698, col: 51, offset: 22494}, label: "label", - expr: &ruleRefExpr{ - pos: position{line: 698, col: 58, offset: 22501}, - name: "CrossReferenceLabel", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonCrossReference16, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonCrossReference21, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonCrossReference25, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonCrossReference31, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonCrossReference35, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonCrossReference41, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, }, }, &litMatcher{ @@ -3627,7 +16319,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 700, col: 9, offset: 22595}, - run: (*parser).callonInternalCrossReference13, + run: (*parser).callonCrossReference44, expr: &seqExpr{ pos: position{line: 700, col: 9, offset: 22595}, exprs: []interface{}{ @@ -3640,9 +16332,19 @@ var g = &grammar{ &labeledExpr{ pos: position{line: 700, col: 14, offset: 22600}, label: "id", - expr: &ruleRefExpr{ - pos: position{line: 700, col: 18, offset: 22604}, - name: "Id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonCrossReference48, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, }, }, &litMatcher{ @@ -3654,6 +16356,10 @@ var g = &grammar{ }, }, }, + &ruleRefExpr{ + pos: position{line: 696, col: 44, offset: 22419}, + name: "ExternalCrossReference", + }, }, }, }, @@ -3675,9 +16381,811 @@ var g = &grammar{ &labeledExpr{ pos: position{line: 704, col: 35, offset: 22713}, label: "url", - expr: &ruleRefExpr{ - pos: position{line: 704, col: 40, offset: 22718}, - name: "FileLocation", + expr: &actionExpr{ + pos: position{line: 3075, col: 17, offset: 99578}, + run: (*parser).callonExternalCrossReference5, + expr: &labeledExpr{ + pos: position{line: 3075, col: 17, offset: 99578}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3075, col: 22, offset: 99583}, + expr: &choiceExpr{ + pos: position{line: 3075, col: 23, offset: 99584}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonExternalCrossReference9, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonExternalCrossReference16, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonExternalCrossReference20, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExternalCrossReference27, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonExternalCrossReference29, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonExternalCrossReference31, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonExternalCrossReference34, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalCrossReference38, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonExternalCrossReference45, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonExternalCrossReference50, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonExternalCrossReference52, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonExternalCrossReference56, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalCrossReference60, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonExternalCrossReference67, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonExternalCrossReference72, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonExternalCrossReference74, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonExternalCrossReference78, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalCrossReference82, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonExternalCrossReference88, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalCrossReference92, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonExternalCrossReference98, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonExternalCrossReference100, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonExternalCrossReference103, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonExternalCrossReference105, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonExternalCrossReference109, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExternalCrossReference113, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonExternalCrossReference119, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonExternalCrossReference124, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalCrossReference128, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonExternalCrossReference134, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalCrossReference138, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonExternalCrossReference144, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonExternalCrossReference147, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonExternalCrossReference151, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonExternalCrossReference155, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonExternalCrossReference157, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonExternalCrossReference159, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonExternalCrossReference163, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, }, }, &labeledExpr{ @@ -3693,767 +17201,2870 @@ var g = &grammar{ }, }, { - name: "CrossReferenceLabel", - pos: position{line: 708, col: 1, offset: 22872}, - expr: &oneOrMoreExpr{ - pos: position{line: 708, col: 24, offset: 22895}, - expr: &choiceExpr{ - pos: position{line: 709, col: 5, offset: 22901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 709, col: 6, offset: 22902}, - run: (*parser).callonCrossReferenceLabel3, - expr: &seqExpr{ - pos: position{line: 709, col: 6, offset: 22902}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 709, col: 6, offset: 22902}, - val: "[\\pL0-9]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 709, col: 14, offset: 22910}, - expr: &charClassMatcher{ - pos: position{line: 709, col: 14, offset: 22910}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 712, col: 7, offset: 23105}, - name: "AttributeReferenceValue", - }, - &actionExpr{ - pos: position{line: 713, col: 8, offset: 23136}, - run: (*parser).callonCrossReferenceLabel9, - expr: &litMatcher{ - pos: position{line: 713, col: 8, offset: 23136}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - { - name: "DelimitedBlock", - pos: position{line: 722, col: 1, offset: 23411}, - expr: &choiceExpr{ - pos: position{line: 723, col: 5, offset: 23433}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 723, col: 5, offset: 23433}, - name: "CommentBlock", - }, - &ruleRefExpr{ - pos: position{line: 724, col: 7, offset: 23452}, - name: "ExampleBlock", - }, - &ruleRefExpr{ - pos: position{line: 725, col: 7, offset: 23471}, - name: "MarkdownCodeBlock", - }, - &ruleRefExpr{ - pos: position{line: 726, col: 7, offset: 23495}, - name: "FencedBlock", - }, - &ruleRefExpr{ - pos: position{line: 727, col: 7, offset: 23513}, - name: "ListingBlock", - }, - &ruleRefExpr{ - pos: position{line: 728, col: 7, offset: 23532}, - name: "LiteralBlock", - }, - &ruleRefExpr{ - pos: position{line: 729, col: 7, offset: 23551}, - name: "MarkdownQuoteBlock", - }, - &ruleRefExpr{ - pos: position{line: 730, col: 7, offset: 23576}, - name: "PassthroughBlock", - }, - &ruleRefExpr{ - pos: position{line: 731, col: 7, offset: 23599}, - name: "QuoteBlock", - }, - &ruleRefExpr{ - pos: position{line: 732, col: 7, offset: 23616}, - name: "SidebarBlock", - }, - }, - }, - }, - { - name: "BlockDelimiter", - pos: position{line: 734, col: 1, offset: 23630}, + name: "MarkdownQuoteAttribution", + pos: position{line: 996, col: 1, offset: 31263}, expr: &actionExpr{ - pos: position{line: 735, col: 5, offset: 23652}, - run: (*parser).callonBlockDelimiter1, + pos: position{line: 997, col: 5, offset: 31296}, + run: (*parser).callonMarkdownQuoteAttribution1, expr: &seqExpr{ - pos: position{line: 735, col: 5, offset: 23652}, + pos: position{line: 997, col: 5, offset: 31296}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 735, col: 5, offset: 23652}, - expr: &ruleRefExpr{ - pos: position{line: 735, col: 6, offset: 23653}, - name: "Alphanum", - }, + &litMatcher{ + pos: position{line: 997, col: 5, offset: 31296}, + val: "-- ", + ignoreCase: false, + want: "\"-- \"", }, &labeledExpr{ - pos: position{line: 736, col: 5, offset: 23682}, - label: "delimiter", - expr: &choiceExpr{ - pos: position{line: 737, col: 9, offset: 23702}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 737, col: 9, offset: 23702}, - name: "CommentBlockDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 738, col: 11, offset: 23734}, - name: "ExampleBlockDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 739, col: 11, offset: 23766}, - name: "MarkdownCodeDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 740, col: 11, offset: 23932}, - name: "FencedBlockDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 741, col: 11, offset: 23963}, - name: "ListingBlockDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 742, col: 11, offset: 23995}, - name: "LiteralBlockDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 743, col: 11, offset: 24027}, - name: "PassthroughBlockDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 744, col: 11, offset: 24063}, - name: "QuoteBlockDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 745, col: 11, offset: 24093}, - name: "SidebarBlockDelimiter", + pos: position{line: 997, col: 11, offset: 31302}, + label: "author", + expr: &actionExpr{ + pos: position{line: 997, col: 19, offset: 31310}, + run: (*parser).callonMarkdownQuoteAttribution5, + expr: &oneOrMoreExpr{ + pos: position{line: 997, col: 20, offset: 31311}, + expr: &charClassMatcher{ + pos: position{line: 997, col: 20, offset: 31311}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, }, - }, - }, - }, - }, - { - name: "CommentBlockDelimiter", - pos: position{line: 750, col: 1, offset: 24164}, - expr: &actionExpr{ - pos: position{line: 751, col: 5, offset: 24194}, - run: (*parser).callonCommentBlockDelimiter1, - expr: &seqExpr{ - pos: position{line: 751, col: 5, offset: 24194}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 751, col: 5, offset: 24194}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 751, col: 16, offset: 24205}, - run: (*parser).callonCommentBlockDelimiter4, - expr: &seqExpr{ - pos: position{line: 751, col: 16, offset: 24205}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 751, col: 16, offset: 24205}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 751, col: 23, offset: 24212}, - expr: &litMatcher{ - pos: position{line: 751, col: 23, offset: 24212}, - val: "/", + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonMarkdownQuoteAttribution9, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", ignoreCase: false, - want: "\"/\"", + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 753, col: 8, offset: 24296}, - expr: &ruleRefExpr{ - pos: position{line: 753, col: 8, offset: 24296}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 753, col: 15, offset: 24303}, - name: "EOL", - }, }, }, }, }, { - name: "ExampleBlockDelimiter", - pos: position{line: 757, col: 1, offset: 24412}, + name: "DocumentHeader", + pos: position{line: 1090, col: 1, offset: 33782}, expr: &actionExpr{ - pos: position{line: 758, col: 5, offset: 24442}, - run: (*parser).callonExampleBlockDelimiter1, + pos: position{line: 1091, col: 5, offset: 33805}, + run: (*parser).callonDocumentHeader1, expr: &seqExpr{ - pos: position{line: 758, col: 5, offset: 24442}, + pos: position{line: 1091, col: 5, offset: 33805}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 758, col: 5, offset: 24442}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 758, col: 16, offset: 24453}, - run: (*parser).callonExampleBlockDelimiter4, - expr: &seqExpr{ - pos: position{line: 758, col: 16, offset: 24453}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 758, col: 16, offset: 24453}, - val: "====", - ignoreCase: false, - want: "\"====\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 758, col: 23, offset: 24460}, - expr: &litMatcher{ - pos: position{line: 758, col: 23, offset: 24460}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, + &andCodeExpr{ + pos: position{line: 1091, col: 5, offset: 33805}, + run: (*parser).callonDocumentHeader3, }, - &zeroOrMoreExpr{ - pos: position{line: 760, col: 8, offset: 24544}, + &labeledExpr{ + pos: position{line: 1094, col: 5, offset: 33866}, + label: "extraAttrs", expr: &ruleRefExpr{ - pos: position{line: 760, col: 8, offset: 24544}, - name: "Space", + pos: position{line: 1094, col: 17, offset: 33878}, + name: "DocumentHeaderAttributes", }, }, - &ruleRefExpr{ - pos: position{line: 760, col: 15, offset: 24551}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "FencedBlockDelimiter", - pos: position{line: 764, col: 1, offset: 24660}, - expr: &actionExpr{ - pos: position{line: 765, col: 5, offset: 24689}, - run: (*parser).callonFencedBlockDelimiter1, - expr: &seqExpr{ - pos: position{line: 765, col: 5, offset: 24689}, - exprs: []interface{}{ &labeledExpr{ - pos: position{line: 765, col: 5, offset: 24689}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 765, col: 16, offset: 24700}, - run: (*parser).callonFencedBlockDelimiter4, - expr: &seqExpr{ - pos: position{line: 765, col: 16, offset: 24700}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 765, col: 16, offset: 24700}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 765, col: 22, offset: 24706}, - expr: &litMatcher{ - pos: position{line: 765, col: 22, offset: 24706}, - val: "`", - ignoreCase: false, - want: "\"`\"", + pos: position{line: 1095, col: 5, offset: 33908}, + label: "info", + expr: &zeroOrOneExpr{ + pos: position{line: 1095, col: 10, offset: 33913}, + expr: &actionExpr{ + pos: position{line: 1118, col: 5, offset: 34766}, + run: (*parser).callonDocumentHeader8, + expr: &seqExpr{ + pos: position{line: 1118, col: 5, offset: 34766}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1118, col: 5, offset: 34766}, + label: "title", + expr: &actionExpr{ + pos: position{line: 1126, col: 5, offset: 35047}, + run: (*parser).callonDocumentHeader11, + expr: &seqExpr{ + pos: position{line: 1126, col: 5, offset: 35047}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1126, col: 5, offset: 35047}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonDocumentHeader14, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1126, col: 16, offset: 35058}, + label: "title", + expr: &actionExpr{ + pos: position{line: 2627, col: 17, offset: 86343}, + run: (*parser).callonDocumentHeader18, + expr: &oneOrMoreExpr{ + pos: position{line: 2627, col: 17, offset: 86343}, + expr: &charClassMatcher{ + pos: position{line: 2627, col: 17, offset: 86343}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader22, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1119, col: 5, offset: 34792}, + expr: &choiceExpr{ + pos: position{line: 1119, col: 6, offset: 34793}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonDocumentHeader31, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonDocumentHeader37, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader41, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 826, col: 5, offset: 26775}, + run: (*parser).callonDocumentHeader48, + expr: &seqExpr{ + pos: position{line: 826, col: 5, offset: 26775}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeader50, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeader53, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader59, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader62, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 827, col: 5, offset: 26806}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 837, col: 5, offset: 27092}, + expr: &actionExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + run: (*parser).callonDocumentHeader71, + expr: &seqExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 837, col: 6, offset: 27093}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeader75, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeader78, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader84, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader87, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 838, col: 5, offset: 27123}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentHeader97, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentHeader103, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader107, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 828, col: 5, offset: 26840}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeader116, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeader119, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader125, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader128, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1120, col: 5, offset: 34867}, + label: "authorsAndRevision", + expr: &zeroOrOneExpr{ + pos: position{line: 1120, col: 24, offset: 34886}, + expr: &actionExpr{ + pos: position{line: 1131, col: 5, offset: 35153}, + run: (*parser).callonDocumentHeader139, + expr: &seqExpr{ + pos: position{line: 1131, col: 5, offset: 35153}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1131, col: 5, offset: 35153}, + label: "authors", + expr: &actionExpr{ + pos: position{line: 1137, col: 20, offset: 35409}, + run: (*parser).callonDocumentHeader142, + expr: &seqExpr{ + pos: position{line: 1137, col: 20, offset: 35409}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1137, col: 20, offset: 35409}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader145, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1137, col: 27, offset: 35416}, + label: "authors", + expr: &choiceExpr{ + pos: position{line: 1137, col: 36, offset: 35425}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1141, col: 30, offset: 35545}, + run: (*parser).callonDocumentHeader149, + expr: &seqExpr{ + pos: position{line: 1141, col: 30, offset: 35545}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1141, col: 30, offset: 35545}, + expr: &litMatcher{ + pos: position{line: 1141, col: 31, offset: 35546}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1141, col: 35, offset: 35550}, + label: "authors", + expr: &oneOrMoreExpr{ + pos: position{line: 1141, col: 44, offset: 35559}, + expr: &actionExpr{ + pos: position{line: 1150, col: 5, offset: 35791}, + run: (*parser).callonDocumentHeader155, + expr: &seqExpr{ + pos: position{line: 1150, col: 5, offset: 35791}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1150, col: 5, offset: 35791}, + label: "fullName", + expr: &zeroOrOneExpr{ + pos: position{line: 1150, col: 14, offset: 35800}, + expr: &actionExpr{ + pos: position{line: 1161, col: 5, offset: 36180}, + run: (*parser).callonDocumentHeader159, + expr: &seqExpr{ + pos: position{line: 1161, col: 5, offset: 36180}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1161, col: 5, offset: 36180}, + label: "part1", + expr: &actionExpr{ + pos: position{line: 1161, col: 12, offset: 36187}, + run: (*parser).callonDocumentHeader162, + expr: &oneOrMoreExpr{ + pos: position{line: 1161, col: 12, offset: 36187}, + expr: &charClassMatcher{ + pos: position{line: 1161, col: 12, offset: 36187}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1164, col: 5, offset: 36267}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader166, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1165, col: 5, offset: 36278}, + label: "part2", + expr: &zeroOrOneExpr{ + pos: position{line: 1165, col: 11, offset: 36284}, + expr: &actionExpr{ + pos: position{line: 1165, col: 12, offset: 36285}, + run: (*parser).callonDocumentHeader170, + expr: &oneOrMoreExpr{ + pos: position{line: 1165, col: 12, offset: 36285}, + expr: &charClassMatcher{ + pos: position{line: 1165, col: 12, offset: 36285}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1168, col: 5, offset: 36366}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader174, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1169, col: 5, offset: 36377}, + label: "part3", + expr: &zeroOrOneExpr{ + pos: position{line: 1169, col: 11, offset: 36383}, + expr: &actionExpr{ + pos: position{line: 1169, col: 12, offset: 36384}, + run: (*parser).callonDocumentHeader178, + expr: &oneOrMoreExpr{ + pos: position{line: 1169, col: 12, offset: 36384}, + expr: &charClassMatcher{ + pos: position{line: 1169, col: 12, offset: 36384}, + val: "[^<;\\r\\n]", + chars: []rune{'<', ';', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1172, col: 5, offset: 36463}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader182, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1150, col: 40, offset: 35826}, + label: "email", + expr: &zeroOrOneExpr{ + pos: position{line: 1150, col: 46, offset: 35832}, + expr: &actionExpr{ + pos: position{line: 1178, col: 5, offset: 36585}, + run: (*parser).callonDocumentHeader186, + expr: &seqExpr{ + pos: position{line: 1178, col: 5, offset: 36585}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1178, col: 5, offset: 36585}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &litMatcher{ + pos: position{line: 1179, col: 5, offset: 36595}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1180, col: 5, offset: 36604}, + label: "email", + expr: &actionExpr{ + pos: position{line: 1180, col: 12, offset: 36611}, + run: (*parser).callonDocumentHeader193, + expr: &oneOrMoreExpr{ + pos: position{line: 1180, col: 13, offset: 36612}, + expr: &charClassMatcher{ + pos: position{line: 1180, col: 13, offset: 36612}, + val: "[^>\\r\\n]", + chars: []rune{'>', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1183, col: 5, offset: 36672}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1150, col: 69, offset: 35855}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader198, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1150, col: 76, offset: 35862}, + expr: &litMatcher{ + pos: position{line: 1150, col: 76, offset: 35862}, + val: ";", + ignoreCase: false, + want: "\";\"", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1150, col: 81, offset: 35867}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader203, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1151, col: 5, offset: 35879}, + run: (*parser).callonDocumentHeader205, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1145, col: 33, offset: 35677}, + run: (*parser).callonDocumentHeader206, + expr: &seqExpr{ + pos: position{line: 1145, col: 33, offset: 35677}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1145, col: 33, offset: 35677}, + val: ":author:", + ignoreCase: false, + want: "\":author:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1145, col: 44, offset: 35688}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader210, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1145, col: 51, offset: 35695}, + label: "author", + expr: &actionExpr{ + pos: position{line: 1150, col: 5, offset: 35791}, + run: (*parser).callonDocumentHeader213, + expr: &seqExpr{ + pos: position{line: 1150, col: 5, offset: 35791}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1150, col: 5, offset: 35791}, + label: "fullName", + expr: &zeroOrOneExpr{ + pos: position{line: 1150, col: 14, offset: 35800}, + expr: &actionExpr{ + pos: position{line: 1161, col: 5, offset: 36180}, + run: (*parser).callonDocumentHeader217, + expr: &seqExpr{ + pos: position{line: 1161, col: 5, offset: 36180}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1161, col: 5, offset: 36180}, + label: "part1", + expr: &actionExpr{ + pos: position{line: 1161, col: 12, offset: 36187}, + run: (*parser).callonDocumentHeader220, + expr: &oneOrMoreExpr{ + pos: position{line: 1161, col: 12, offset: 36187}, + expr: &charClassMatcher{ + pos: position{line: 1161, col: 12, offset: 36187}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1164, col: 5, offset: 36267}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader224, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1165, col: 5, offset: 36278}, + label: "part2", + expr: &zeroOrOneExpr{ + pos: position{line: 1165, col: 11, offset: 36284}, + expr: &actionExpr{ + pos: position{line: 1165, col: 12, offset: 36285}, + run: (*parser).callonDocumentHeader228, + expr: &oneOrMoreExpr{ + pos: position{line: 1165, col: 12, offset: 36285}, + expr: &charClassMatcher{ + pos: position{line: 1165, col: 12, offset: 36285}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1168, col: 5, offset: 36366}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader232, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1169, col: 5, offset: 36377}, + label: "part3", + expr: &zeroOrOneExpr{ + pos: position{line: 1169, col: 11, offset: 36383}, + expr: &actionExpr{ + pos: position{line: 1169, col: 12, offset: 36384}, + run: (*parser).callonDocumentHeader236, + expr: &oneOrMoreExpr{ + pos: position{line: 1169, col: 12, offset: 36384}, + expr: &charClassMatcher{ + pos: position{line: 1169, col: 12, offset: 36384}, + val: "[^<;\\r\\n]", + chars: []rune{'<', ';', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1172, col: 5, offset: 36463}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader240, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1150, col: 40, offset: 35826}, + label: "email", + expr: &zeroOrOneExpr{ + pos: position{line: 1150, col: 46, offset: 35832}, + expr: &actionExpr{ + pos: position{line: 1178, col: 5, offset: 36585}, + run: (*parser).callonDocumentHeader244, + expr: &seqExpr{ + pos: position{line: 1178, col: 5, offset: 36585}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1178, col: 5, offset: 36585}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &litMatcher{ + pos: position{line: 1179, col: 5, offset: 36595}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1180, col: 5, offset: 36604}, + label: "email", + expr: &actionExpr{ + pos: position{line: 1180, col: 12, offset: 36611}, + run: (*parser).callonDocumentHeader251, + expr: &oneOrMoreExpr{ + pos: position{line: 1180, col: 13, offset: 36612}, + expr: &charClassMatcher{ + pos: position{line: 1180, col: 13, offset: 36612}, + val: "[^>\\r\\n]", + chars: []rune{'>', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1183, col: 5, offset: 36672}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1150, col: 69, offset: 35855}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader256, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1150, col: 76, offset: 35862}, + expr: &litMatcher{ + pos: position{line: 1150, col: 76, offset: 35862}, + val: ";", + ignoreCase: false, + want: "\";\"", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1150, col: 81, offset: 35867}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader261, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1151, col: 5, offset: 35879}, + run: (*parser).callonDocumentHeader263, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader265, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1132, col: 5, offset: 35183}, + expr: &choiceExpr{ + pos: position{line: 1132, col: 6, offset: 35184}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonDocumentHeader274, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonDocumentHeader280, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader284, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 826, col: 5, offset: 26775}, + run: (*parser).callonDocumentHeader291, + expr: &seqExpr{ + pos: position{line: 826, col: 5, offset: 26775}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeader293, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeader296, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader302, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader305, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 827, col: 5, offset: 26806}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 837, col: 5, offset: 27092}, + expr: &actionExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + run: (*parser).callonDocumentHeader314, + expr: &seqExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 837, col: 6, offset: 27093}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeader318, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeader321, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader327, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader330, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 838, col: 5, offset: 27123}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentHeader340, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentHeader346, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader350, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 828, col: 5, offset: 26840}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeader359, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeader362, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader368, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader371, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1133, col: 5, offset: 35258}, + label: "revision", + expr: &zeroOrOneExpr{ + pos: position{line: 1133, col: 14, offset: 35267}, + expr: &actionExpr{ + pos: position{line: 1189, col: 21, offset: 36861}, + run: (*parser).callonDocumentHeader382, + expr: &seqExpr{ + pos: position{line: 1189, col: 21, offset: 36861}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1189, col: 21, offset: 36861}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader385, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1189, col: 28, offset: 36868}, + expr: &litMatcher{ + pos: position{line: 1189, col: 29, offset: 36869}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1189, col: 33, offset: 36873}, + label: "revision", + expr: &choiceExpr{ + pos: position{line: 1190, col: 9, offset: 36892}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1190, col: 10, offset: 36893}, + run: (*parser).callonDocumentHeader391, + expr: &seqExpr{ + pos: position{line: 1190, col: 10, offset: 36893}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1190, col: 10, offset: 36893}, + label: "revnumber", + expr: &choiceExpr{ + pos: position{line: 1199, col: 27, offset: 37410}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1199, col: 27, offset: 37410}, + run: (*parser).callonDocumentHeader395, + expr: &seqExpr{ + pos: position{line: 1199, col: 27, offset: 37410}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1199, col: 27, offset: 37410}, + val: "v", + ignoreCase: true, + want: "\"v\"i", + }, + &charClassMatcher{ + pos: position{line: 1199, col: 32, offset: 37415}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 1199, col: 38, offset: 37421}, + expr: &charClassMatcher{ + pos: position{line: 1199, col: 38, offset: 37421}, + val: "[^:,\\r\\n]", + chars: []rune{':', ',', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1201, col: 5, offset: 37469}, + run: (*parser).callonDocumentHeader401, + expr: &seqExpr{ + pos: position{line: 1201, col: 5, offset: 37469}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 1201, col: 5, offset: 37469}, + expr: &litMatcher{ + pos: position{line: 1201, col: 5, offset: 37469}, + val: "v", + ignoreCase: true, + want: "\"v\"i", + }, + }, + &charClassMatcher{ + pos: position{line: 1201, col: 11, offset: 37475}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 1201, col: 17, offset: 37481}, + expr: &charClassMatcher{ + pos: position{line: 1201, col: 17, offset: 37481}, + val: "[^:,\\r\\n]", + chars: []rune{':', ',', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1201, col: 28, offset: 37492}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeader409, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1201, col: 35, offset: 37499}, + expr: &litMatcher{ + pos: position{line: 1201, col: 36, offset: 37500}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1190, col: 45, offset: 36928}, + expr: &litMatcher{ + pos: position{line: 1190, col: 45, offset: 36928}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + &labeledExpr{ + pos: position{line: 1190, col: 50, offset: 36933}, + label: "revdate", + expr: &zeroOrOneExpr{ + pos: position{line: 1190, col: 58, offset: 36941}, + expr: &actionExpr{ + pos: position{line: 1205, col: 25, offset: 37564}, + run: (*parser).callonDocumentHeader417, + expr: &oneOrMoreExpr{ + pos: position{line: 1205, col: 25, offset: 37564}, + expr: &charClassMatcher{ + pos: position{line: 1205, col: 25, offset: 37564}, + val: "[^:\\r\\n]", + chars: []rune{':', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1190, col: 82, offset: 36965}, + expr: &litMatcher{ + pos: position{line: 1190, col: 82, offset: 36965}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1190, col: 87, offset: 36970}, + label: "revremark", + expr: &zeroOrOneExpr{ + pos: position{line: 1190, col: 97, offset: 36980}, + expr: &actionExpr{ + pos: position{line: 1209, col: 27, offset: 37636}, + run: (*parser).callonDocumentHeader424, + expr: &oneOrMoreExpr{ + pos: position{line: 1209, col: 27, offset: 37636}, + expr: &charClassMatcher{ + pos: position{line: 1209, col: 27, offset: 37636}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1192, col: 15, offset: 37098}, + run: (*parser).callonDocumentHeader427, + expr: &seqExpr{ + pos: position{line: 1192, col: 15, offset: 37098}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1192, col: 15, offset: 37098}, + label: "revdate", + expr: &actionExpr{ + pos: position{line: 1205, col: 25, offset: 37564}, + run: (*parser).callonDocumentHeader430, + expr: &oneOrMoreExpr{ + pos: position{line: 1205, col: 25, offset: 37564}, + expr: &charClassMatcher{ + pos: position{line: 1205, col: 25, offset: 37564}, + val: "[^:\\r\\n]", + chars: []rune{':', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1192, col: 46, offset: 37129}, + expr: &litMatcher{ + pos: position{line: 1192, col: 46, offset: 37129}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1192, col: 51, offset: 37134}, + label: "revremark", + expr: &zeroOrOneExpr{ + pos: position{line: 1192, col: 61, offset: 37144}, + expr: &actionExpr{ + pos: position{line: 1209, col: 27, offset: 37636}, + run: (*parser).callonDocumentHeader437, + expr: &oneOrMoreExpr{ + pos: position{line: 1209, col: 27, offset: 37636}, + expr: &charClassMatcher{ + pos: position{line: 1209, col: 27, offset: 37636}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeader441, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 767, col: 8, offset: 24790}, + &labeledExpr{ + pos: position{line: 1096, col: 5, offset: 33940}, + label: "moreExtraAttrs", expr: &ruleRefExpr{ - pos: position{line: 767, col: 8, offset: 24790}, - name: "Space", + pos: position{line: 1096, col: 21, offset: 33956}, + name: "DocumentHeaderAttributes", }, }, - &ruleRefExpr{ - pos: position{line: 767, col: 15, offset: 24797}, - name: "EOL", + &andCodeExpr{ + pos: position{line: 1097, col: 5, offset: 33986}, + run: (*parser).callonDocumentHeader450, }, }, }, }, }, { - name: "MarkdownCodeDelimiter", - pos: position{line: 771, col: 1, offset: 24905}, - expr: &actionExpr{ - pos: position{line: 771, col: 26, offset: 24930}, - run: (*parser).callonMarkdownCodeDelimiter1, - expr: &seqExpr{ - pos: position{line: 771, col: 26, offset: 24930}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 771, col: 26, offset: 24930}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &labeledExpr{ - pos: position{line: 771, col: 32, offset: 24936}, - label: "language", - expr: &ruleRefExpr{ - pos: position{line: 771, col: 42, offset: 24946}, - name: "Language", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 771, col: 52, offset: 24956}, - expr: &ruleRefExpr{ - pos: position{line: 771, col: 52, offset: 24956}, - name: "Space", - }, - }, + name: "DocumentHeaderAttributes", + pos: position{line: 1115, col: 1, offset: 34621}, + expr: &zeroOrMoreExpr{ + pos: position{line: 1115, col: 29, offset: 34649}, + expr: &choiceExpr{ + pos: position{line: 1115, col: 30, offset: 34650}, + alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 771, col: 59, offset: 24963}, - name: "EOL", + pos: position{line: 1115, col: 30, offset: 34650}, + name: "AttributeDeclaration", }, - }, - }, - }, - }, - { - name: "Language", - pos: position{line: 775, col: 1, offset: 25054}, - expr: &actionExpr{ - pos: position{line: 775, col: 13, offset: 25066}, - run: (*parser).callonLanguage1, - expr: &oneOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 25067}, - expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 25067}, - val: "[^\\r\\n` ]", - chars: []rune{'\r', '\n', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "ListingBlockDelimiter", - pos: position{line: 779, col: 1, offset: 25196}, - expr: &actionExpr{ - pos: position{line: 780, col: 5, offset: 25226}, - run: (*parser).callonListingBlockDelimiter1, - expr: &seqExpr{ - pos: position{line: 780, col: 5, offset: 25226}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 780, col: 5, offset: 25226}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 780, col: 16, offset: 25237}, - run: (*parser).callonListingBlockDelimiter4, - expr: &seqExpr{ - pos: position{line: 780, col: 16, offset: 25237}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 780, col: 16, offset: 25237}, - val: "----", - ignoreCase: false, - want: "\"----\"", + &actionExpr{ + pos: position{line: 364, col: 19, offset: 11171}, + run: (*parser).callonDocumentHeaderAttributes4, + expr: &seqExpr{ + pos: position{line: 364, col: 19, offset: 11171}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 364, col: 19, offset: 11171}, + val: ":!", + ignoreCase: false, + want: "\":!\"", + }, + &labeledExpr{ + pos: position{line: 364, col: 24, offset: 11176}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentHeaderAttributes8, + 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, + }, + }, + }, + }, }, - &zeroOrMoreExpr{ - pos: position{line: 780, col: 23, offset: 25244}, - expr: &litMatcher{ - pos: position{line: 780, col: 23, offset: 25244}, - val: "-", + }, + &litMatcher{ + pos: position{line: 364, col: 45, offset: 11197}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 364, col: 49, offset: 11201}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeaderAttributes15, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"-\"", + inverted: false, }, }, }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 782, col: 8, offset: 25328}, - expr: &ruleRefExpr{ - pos: position{line: 782, col: 8, offset: 25328}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 782, col: 15, offset: 25335}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "LiteralBlockDelimiter", - pos: position{line: 786, col: 1, offset: 25444}, - expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25474}, - run: (*parser).callonLiteralBlockDelimiter1, - expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25474}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 787, col: 5, offset: 25474}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 787, col: 16, offset: 25485}, - run: (*parser).callonLiteralBlockDelimiter4, - expr: &seqExpr{ - pos: position{line: 787, col: 16, offset: 25485}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 787, col: 16, offset: 25485}, - val: "....", - ignoreCase: false, - want: "\"....\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 787, col: 23, offset: 25492}, - expr: &litMatcher{ - pos: position{line: 787, col: 23, offset: 25492}, - val: ".", - ignoreCase: false, - want: "\".\"", + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeaderAttributes18, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 789, col: 8, offset: 25576}, - expr: &ruleRefExpr{ - pos: position{line: 789, col: 8, offset: 25576}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 789, col: 15, offset: 25583}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "PassthroughBlockDelimiter", - pos: position{line: 793, col: 1, offset: 25692}, - expr: &actionExpr{ - pos: position{line: 794, col: 5, offset: 25726}, - run: (*parser).callonPassthroughBlockDelimiter1, - expr: &seqExpr{ - pos: position{line: 794, col: 5, offset: 25726}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 794, col: 5, offset: 25726}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 794, col: 16, offset: 25737}, - run: (*parser).callonPassthroughBlockDelimiter4, - expr: &seqExpr{ - pos: position{line: 794, col: 16, offset: 25737}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 794, col: 16, offset: 25737}, - val: "++++", - ignoreCase: false, - want: "\"++++\"", + &actionExpr{ + pos: position{line: 366, col: 9, offset: 11292}, + run: (*parser).callonDocumentHeaderAttributes25, + expr: &seqExpr{ + pos: position{line: 366, col: 9, offset: 11292}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 366, col: 9, offset: 11292}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 366, col: 13, offset: 11296}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDocumentHeaderAttributes29, + 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, + }, + }, + }, + }, }, - &zeroOrMoreExpr{ - pos: position{line: 794, col: 23, offset: 25744}, - expr: &litMatcher{ - pos: position{line: 794, col: 23, offset: 25744}, - val: "+", + }, + &litMatcher{ + pos: position{line: 366, col: 34, offset: 11317}, + val: "!:", + ignoreCase: false, + want: "\"!:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 366, col: 39, offset: 11322}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeaderAttributes36, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"+\"", + inverted: false, }, }, }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 796, col: 8, offset: 25828}, - expr: &ruleRefExpr{ - pos: position{line: 796, col: 8, offset: 25828}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 796, col: 15, offset: 25835}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "QuoteBlockDelimiter", - pos: position{line: 800, col: 1, offset: 25948}, - expr: &actionExpr{ - pos: position{line: 801, col: 5, offset: 25976}, - run: (*parser).callonQuoteBlockDelimiter1, - expr: &seqExpr{ - pos: position{line: 801, col: 5, offset: 25976}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 801, col: 5, offset: 25976}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 801, col: 16, offset: 25987}, - run: (*parser).callonQuoteBlockDelimiter4, - expr: &seqExpr{ - pos: position{line: 801, col: 16, offset: 25987}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 801, col: 16, offset: 25987}, - val: "____", - ignoreCase: false, - want: "\"____\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 801, col: 23, offset: 25994}, - expr: &litMatcher{ - pos: position{line: 801, col: 23, offset: 25994}, - val: "_", - ignoreCase: false, - want: "\"_\"", + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeaderAttributes39, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 803, col: 8, offset: 26078}, - expr: &ruleRefExpr{ - pos: position{line: 803, col: 8, offset: 26078}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 803, col: 15, offset: 26085}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "SidebarBlockDelimiter", - pos: position{line: 807, col: 1, offset: 26192}, - expr: &actionExpr{ - pos: position{line: 808, col: 5, offset: 26222}, - run: (*parser).callonSidebarBlockDelimiter1, - expr: &seqExpr{ - pos: position{line: 808, col: 5, offset: 26222}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 808, col: 5, offset: 26222}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 808, col: 16, offset: 26233}, - run: (*parser).callonSidebarBlockDelimiter4, - expr: &seqExpr{ - pos: position{line: 808, col: 16, offset: 26233}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 808, col: 16, offset: 26233}, - val: "****", + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonDocumentHeaderAttributes46, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", ignoreCase: false, - want: "\"****\"", + want: "\"//\"", }, - &zeroOrMoreExpr{ - pos: position{line: 808, col: 23, offset: 26240}, - expr: &litMatcher{ - pos: position{line: 808, col: 23, offset: 26240}, - val: "*", - ignoreCase: false, - want: "\"*\"", + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonDocumentHeaderAttributes52, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeaderAttributes56, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 810, col: 8, offset: 26324}, - expr: &ruleRefExpr{ - pos: position{line: 810, col: 8, offset: 26324}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 810, col: 15, offset: 26331}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "DelimitedBlockRawLine", - pos: position{line: 814, col: 1, offset: 26440}, - expr: &actionExpr{ - pos: position{line: 815, col: 5, offset: 26470}, - run: (*parser).callonDelimitedBlockRawLine1, - expr: &seqExpr{ - pos: position{line: 815, col: 5, offset: 26470}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 815, col: 5, offset: 26470}, - expr: &ruleRefExpr{ - pos: position{line: 815, col: 6, offset: 26471}, - name: "EOF", - }, - }, - &labeledExpr{ - pos: position{line: 816, col: 5, offset: 26543}, - label: "content", - expr: &actionExpr{ - pos: position{line: 816, col: 14, offset: 26552}, - run: (*parser).callonDelimitedBlockRawLine6, - expr: &zeroOrMoreExpr{ - pos: position{line: 816, col: 14, offset: 26552}, - expr: &charClassMatcher{ - pos: position{line: 816, col: 14, offset: 26552}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 826, col: 5, offset: 26775}, + run: (*parser).callonDocumentHeaderAttributes63, + expr: &seqExpr{ + pos: position{line: 826, col: 5, offset: 26775}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeaderAttributes65, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeaderAttributes68, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeaderAttributes74, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeaderAttributes77, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 827, col: 5, offset: 26806}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 837, col: 5, offset: 27092}, + expr: &actionExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + run: (*parser).callonDocumentHeaderAttributes86, + expr: &seqExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 837, col: 6, offset: 27093}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeaderAttributes90, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeaderAttributes93, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeaderAttributes99, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeaderAttributes102, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 838, col: 5, offset: 27123}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonDocumentHeaderAttributes112, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonDocumentHeaderAttributes118, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeaderAttributes122, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 828, col: 5, offset: 26840}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonDocumentHeaderAttributes131, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonDocumentHeaderAttributes134, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeaderAttributes140, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeaderAttributes143, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 818, col: 8, offset: 26633}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "CommentBlock", - pos: position{line: 825, col: 1, offset: 26755}, - expr: &actionExpr{ - pos: position{line: 826, col: 5, offset: 26775}, - run: (*parser).callonCommentBlock1, - expr: &seqExpr{ - pos: position{line: 826, col: 5, offset: 26775}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 826, col: 5, offset: 26775}, - name: "CommentBlockStartDelimiter", - }, - &labeledExpr{ - pos: position{line: 827, col: 5, offset: 26806}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 827, col: 14, offset: 26815}, - name: "CommentBlockContent", - }, - }, - &zeroOrOneExpr{ - pos: position{line: 828, col: 5, offset: 26840}, - expr: &ruleRefExpr{ - pos: position{line: 828, col: 5, offset: 26840}, - name: "CommentBlockEndDelimiter", - }, - }, - }, - }, - }, - }, - { - name: "CommentBlockStartDelimiter", - pos: position{line: 832, col: 1, offset: 26954}, - expr: &ruleRefExpr{ - pos: position{line: 832, col: 31, offset: 26984}, - name: "CommentBlockDelimiter", - }, - }, - { - name: "CommentBlockEndDelimiter", - pos: position{line: 834, col: 1, offset: 27007}, - expr: &choiceExpr{ - pos: position{line: 834, col: 29, offset: 27035}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 834, col: 29, offset: 27035}, - name: "CommentBlockDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 834, col: 53, offset: 27059}, - name: "EOF", - }, - }, - }, - }, - { - name: "CommentBlockContent", - pos: position{line: 836, col: 1, offset: 27064}, - expr: &zeroOrMoreExpr{ - pos: position{line: 837, col: 5, offset: 27092}, - expr: &actionExpr{ - pos: position{line: 837, col: 6, offset: 27093}, - run: (*parser).callonCommentBlockContent2, - expr: &seqExpr{ - pos: position{line: 837, col: 6, offset: 27093}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 837, col: 6, offset: 27093}, - expr: &ruleRefExpr{ - pos: position{line: 837, col: 7, offset: 27094}, - name: "CommentBlockEndDelimiter", - }, - }, - &labeledExpr{ - pos: position{line: 838, col: 5, offset: 27123}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 838, col: 10, offset: 27128}, - name: "DelimitedBlockRawLine", + &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonDocumentHeaderAttributes152, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDocumentHeaderAttributes158, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDocumentHeaderAttributes161, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, @@ -4462,794 +20073,2064 @@ var g = &grammar{ }, }, { - name: "ExampleBlock", - pos: position{line: 845, col: 1, offset: 27256}, + name: "InlineElement", + pos: position{line: 1276, col: 1, offset: 39806}, expr: &actionExpr{ - pos: position{line: 846, col: 5, offset: 27276}, - run: (*parser).callonExampleBlock1, - expr: &seqExpr{ - pos: position{line: 846, col: 5, offset: 27276}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 846, col: 5, offset: 27276}, - label: "start", - expr: &ruleRefExpr{ - pos: position{line: 846, col: 12, offset: 27283}, - name: "ExampleBlockStartDelimiter", - }, - }, - &andCodeExpr{ - pos: position{line: 847, col: 5, offset: 27315}, - run: (*parser).callonExampleBlock5, - }, - &labeledExpr{ - pos: position{line: 850, col: 5, offset: 27407}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 850, col: 14, offset: 27416}, - name: "ExampleBlockContent", - }, - }, - &labeledExpr{ - pos: position{line: 851, col: 5, offset: 27441}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 851, col: 9, offset: 27445}, - expr: &ruleRefExpr{ - pos: position{line: 851, col: 10, offset: 27446}, - name: "ExampleBlockEndDelimiter", - }, - }, - }, - }, - }, - }, - }, - { - name: "ExampleBlockStartDelimiter", - pos: position{line: 855, col: 1, offset: 27561}, - expr: &ruleRefExpr{ - pos: position{line: 855, col: 31, offset: 27591}, - name: "ExampleBlockDelimiter", - }, - }, - { - name: "ExampleBlockEndDelimiter", - pos: position{line: 857, col: 1, offset: 27614}, - expr: &choiceExpr{ - pos: position{line: 858, col: 5, offset: 27647}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 858, col: 5, offset: 27647}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 858, col: 5, offset: 27647}, - label: "end", - expr: &ruleRefExpr{ - pos: position{line: 858, col: 9, offset: 27651}, - name: "ExampleBlockDelimiter", - }, - }, - &andCodeExpr{ - pos: position{line: 859, col: 5, offset: 27678}, - run: (*parser).callonExampleBlockEndDelimiter5, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 862, col: 7, offset: 27772}, - name: "EOF", - }, - }, - }, - }, - { - name: "ExampleBlockContent", - pos: position{line: 864, col: 1, offset: 27777}, - expr: &zeroOrMoreExpr{ - pos: position{line: 865, col: 4, offset: 27804}, - expr: &actionExpr{ - pos: position{line: 865, col: 5, offset: 27805}, - run: (*parser).callonExampleBlockContent2, - expr: &seqExpr{ - pos: position{line: 865, col: 5, offset: 27805}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 865, col: 5, offset: 27805}, - expr: &ruleRefExpr{ - pos: position{line: 865, col: 6, offset: 27806}, - name: "ExampleBlockEndDelimiter", + pos: position{line: 1277, col: 5, offset: 39829}, + run: (*parser).callonInlineElement1, + expr: &labeledExpr{ + pos: position{line: 1277, col: 5, offset: 39829}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1278, col: 9, offset: 39847}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + run: (*parser).callonInlineElement4, + expr: &seqExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + expr: &charClassMatcher{ + pos: position{line: 3052, col: 5, offset: 98799}, + val: "[,;!?0-9\\pL]", + chars: []rune{',', ';', '!', '?'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &choiceExpr{ + pos: position{line: 3053, col: 6, offset: 98849}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineElement9, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3053, col: 14, offset: 98857}, + expr: &choiceExpr{ + pos: position{line: 3053, col: 16, offset: 98859}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3053, col: 16, offset: 98859}, + val: "[.�]", + chars: []rune{'.', '�'}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlineElement14, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 866, col: 5, offset: 27835}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 866, col: 11, offset: 27841}, - name: "DelimitedBlockRawLine", + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonInlineElement21, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, - }, - }, - }, - }, - }, - { - name: "FencedBlock", - pos: position{line: 873, col: 1, offset: 27969}, - expr: &actionExpr{ - pos: position{line: 874, col: 5, offset: 27988}, - run: (*parser).callonFencedBlock1, - expr: &seqExpr{ - pos: position{line: 874, col: 5, offset: 27988}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 874, col: 5, offset: 27988}, - label: "start", - expr: &ruleRefExpr{ - pos: position{line: 874, col: 12, offset: 27995}, - name: "FencedBlockStartDelimiter", - }, - }, - &andCodeExpr{ - pos: position{line: 875, col: 5, offset: 28026}, - run: (*parser).callonFencedBlock5, - }, - &labeledExpr{ - pos: position{line: 878, col: 5, offset: 28118}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 878, col: 14, offset: 28127}, - name: "FencedBlockContent", - }, - }, - &labeledExpr{ - pos: position{line: 879, col: 5, offset: 28151}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 879, col: 9, offset: 28155}, - expr: &ruleRefExpr{ - pos: position{line: 879, col: 10, offset: 28156}, - name: "FencedBlockEndDelimiter", + &actionExpr{ + pos: position{line: 1226, col: 5, offset: 38392}, + run: (*parser).callonInlineElement24, + expr: &seqExpr{ + pos: position{line: 1226, col: 5, offset: 38392}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1226, col: 5, offset: 38392}, + run: (*parser).callonInlineElement26, + }, + &litMatcher{ + pos: position{line: 1229, col: 5, offset: 38494}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1229, col: 9, offset: 38498}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineElement29, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1229, col: 16, offset: 38505}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlineElement33, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, - }, - }, - }, - }, - }, - { - name: "FencedBlockStartDelimiter", - pos: position{line: 883, col: 1, offset: 28269}, - expr: &ruleRefExpr{ - pos: position{line: 883, col: 30, offset: 28298}, - name: "FencedBlockDelimiter", - }, - }, - { - name: "FencedBlockEndDelimiter", - pos: position{line: 885, col: 1, offset: 28320}, - expr: &choiceExpr{ - pos: position{line: 886, col: 5, offset: 28352}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 886, col: 5, offset: 28352}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 886, col: 5, offset: 28352}, - label: "end", - expr: &ruleRefExpr{ - pos: position{line: 886, col: 9, offset: 28356}, - name: "FencedBlockDelimiter", + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonInlineElement40, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonInlineElement44, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonInlineElement46, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonInlineElement48, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonInlineElement50, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonInlineElement52, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonInlineElement54, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonInlineElement56, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonInlineElement58, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonInlineElement60, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonInlineElement62, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonInlineElement64, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineElement67, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlineElement71, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonInlineElement78, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonInlineElement80, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlineElement85, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonInlineElement92, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonInlineElement94, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonInlineElement96, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, }, }, - &andCodeExpr{ - pos: position{line: 887, col: 5, offset: 28382}, - run: (*parser).callonFencedBlockEndDelimiter5, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 890, col: 7, offset: 28476}, - name: "EOF", - }, - }, - }, - }, - { - name: "FencedBlockContent", - pos: position{line: 892, col: 1, offset: 28481}, - expr: &zeroOrMoreExpr{ - pos: position{line: 893, col: 5, offset: 28508}, - expr: &actionExpr{ - pos: position{line: 893, col: 6, offset: 28509}, - run: (*parser).callonFencedBlockContent2, - expr: &seqExpr{ - pos: position{line: 893, col: 6, offset: 28509}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 893, col: 6, offset: 28509}, - expr: &ruleRefExpr{ - pos: position{line: 893, col: 7, offset: 28510}, - name: "FencedBlockEndDelimiter", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonInlineElement98, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", }, }, - &labeledExpr{ - pos: position{line: 894, col: 5, offset: 28538}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 894, col: 11, offset: 28544}, - name: "DelimitedBlockRawLine", + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonInlineElement100, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", }, }, - }, - }, - }, - }, - }, - { - name: "ListingBlock", - pos: position{line: 901, col: 1, offset: 28673}, - expr: &actionExpr{ - pos: position{line: 902, col: 5, offset: 28693}, - run: (*parser).callonListingBlock1, - expr: &seqExpr{ - pos: position{line: 902, col: 5, offset: 28693}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 902, col: 5, offset: 28693}, - label: "start", - expr: &ruleRefExpr{ - pos: position{line: 902, col: 12, offset: 28700}, - name: "ListingBlockStartDelimiter", - }, - }, - &andCodeExpr{ - pos: position{line: 903, col: 5, offset: 28732}, - run: (*parser).callonListingBlock5, - }, - &labeledExpr{ - pos: position{line: 906, col: 5, offset: 28824}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 906, col: 14, offset: 28833}, - name: "ListingBlockContent", - }, - }, - &labeledExpr{ - pos: position{line: 907, col: 5, offset: 28858}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 907, col: 9, offset: 28862}, - expr: &ruleRefExpr{ - pos: position{line: 907, col: 10, offset: 28863}, - name: "ListingBlockEndDelimiter", + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonInlineElement102, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", }, }, - }, - }, - }, - }, - }, - { - name: "ListingBlockStartDelimiter", - pos: position{line: 911, col: 1, offset: 28978}, - expr: &ruleRefExpr{ - pos: position{line: 911, col: 31, offset: 29008}, - name: "ListingBlockDelimiter", - }, - }, - { - name: "ListingBlockEndDelimiter", - pos: position{line: 913, col: 1, offset: 29031}, - expr: &choiceExpr{ - pos: position{line: 914, col: 5, offset: 29064}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 914, col: 5, offset: 29064}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 914, col: 5, offset: 29064}, - label: "end", - expr: &ruleRefExpr{ - pos: position{line: 914, col: 9, offset: 29068}, - name: "ListingBlockDelimiter", + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonInlineElement104, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", }, }, - &andCodeExpr{ - pos: position{line: 915, col: 5, offset: 29095}, - run: (*parser).callonListingBlockEndDelimiter5, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 918, col: 7, offset: 29189}, - name: "EOF", - }, - }, - }, - }, - { - name: "ListingBlockContent", - pos: position{line: 920, col: 1, offset: 29194}, - expr: &zeroOrMoreExpr{ - pos: position{line: 921, col: 5, offset: 29222}, - expr: &actionExpr{ - pos: position{line: 921, col: 6, offset: 29223}, - run: (*parser).callonListingBlockContent2, - expr: &seqExpr{ - pos: position{line: 921, col: 6, offset: 29223}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 921, col: 6, offset: 29223}, - expr: &ruleRefExpr{ - pos: position{line: 921, col: 7, offset: 29224}, - name: "ListingBlockEndDelimiter", + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonInlineElement106, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", }, }, - &labeledExpr{ - pos: position{line: 922, col: 5, offset: 29253}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 922, col: 11, offset: 29259}, - name: "DelimitedBlockRawLine", + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonInlineElement108, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", }, }, - }, - }, - }, - }, - }, - { - name: "LiteralBlock", - pos: position{line: 929, col: 1, offset: 29388}, - expr: &actionExpr{ - pos: position{line: 930, col: 5, offset: 29408}, - run: (*parser).callonLiteralBlock1, - expr: &seqExpr{ - pos: position{line: 930, col: 5, offset: 29408}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 930, col: 5, offset: 29408}, - label: "start", - expr: &ruleRefExpr{ - pos: position{line: 930, col: 12, offset: 29415}, - name: "LiteralBlockStartDelimiter", - }, - }, - &andCodeExpr{ - pos: position{line: 931, col: 5, offset: 29447}, - run: (*parser).callonLiteralBlock5, - }, - &labeledExpr{ - pos: position{line: 934, col: 5, offset: 29539}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 934, col: 14, offset: 29548}, - name: "LiteralBlockContent", + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonInlineElement110, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, }, - }, - &labeledExpr{ - pos: position{line: 935, col: 5, offset: 29573}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 935, col: 9, offset: 29577}, - expr: &ruleRefExpr{ - pos: position{line: 935, col: 10, offset: 29578}, - name: "LiteralBlockEndDelimiter", + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonInlineElement112, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", }, }, - }, - }, - }, - }, - }, - { - name: "LiteralBlockStartDelimiter", - pos: position{line: 939, col: 1, offset: 29693}, - expr: &ruleRefExpr{ - pos: position{line: 939, col: 31, offset: 29723}, - name: "LiteralBlockDelimiter", - }, - }, - { - name: "LiteralBlockEndDelimiter", - pos: position{line: 941, col: 1, offset: 29746}, - expr: &choiceExpr{ - pos: position{line: 942, col: 5, offset: 29779}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 942, col: 5, offset: 29779}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 942, col: 5, offset: 29779}, - label: "end", - expr: &ruleRefExpr{ - pos: position{line: 942, col: 9, offset: 29783}, - name: "LiteralBlockDelimiter", + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonInlineElement114, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonInlineElement116, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineElement119, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlineElement123, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &andCodeExpr{ - pos: position{line: 943, col: 5, offset: 29810}, - run: (*parser).callonLiteralBlockEndDelimiter5, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonInlineElement130, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonInlineElement132, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlineElement137, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, }, - }, - }, - &ruleRefExpr{ - pos: position{line: 946, col: 7, offset: 29904}, - name: "EOF", - }, - }, - }, - }, - { - name: "LiteralBlockContent", - pos: position{line: 948, col: 1, offset: 29909}, - expr: &zeroOrMoreExpr{ - pos: position{line: 949, col: 5, offset: 29937}, - expr: &actionExpr{ - pos: position{line: 949, col: 6, offset: 29938}, - run: (*parser).callonLiteralBlockContent2, - expr: &seqExpr{ - pos: position{line: 949, col: 6, offset: 29938}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 949, col: 6, offset: 29938}, - expr: &ruleRefExpr{ - pos: position{line: 949, col: 7, offset: 29939}, - name: "LiteralBlockEndDelimiter", + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonInlineElement144, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", }, }, - &labeledExpr{ - pos: position{line: 950, col: 5, offset: 29968}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 950, col: 11, offset: 29974}, - name: "DelimitedBlockRawLine", + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonInlineElement146, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", }, }, - }, - }, - }, - }, - }, - { - name: "MarkdownCodeBlock", - pos: position{line: 957, col: 1, offset: 30102}, - expr: &actionExpr{ - pos: position{line: 958, col: 5, offset: 30127}, - run: (*parser).callonMarkdownCodeBlock1, - expr: &seqExpr{ - pos: position{line: 958, col: 5, offset: 30127}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 958, col: 5, offset: 30127}, - label: "delimiter", - expr: &ruleRefExpr{ - pos: position{line: 958, col: 15, offset: 30137}, - name: "MarkdownCodeBlockStartDelimiter", + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonInlineElement148, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, }, - }, - &labeledExpr{ - pos: position{line: 959, col: 5, offset: 30173}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 959, col: 14, offset: 30182}, - name: "MarkdownCodeBlockContent", + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonInlineElement150, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, }, - }, - &zeroOrOneExpr{ - pos: position{line: 960, col: 5, offset: 30212}, - expr: &ruleRefExpr{ - pos: position{line: 960, col: 5, offset: 30212}, - name: "MarkdownCodeBlockEndDelimiter", + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonInlineElement152, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, - }, - }, - }, - }, - }, - { - name: "MarkdownCodeBlockStartDelimiter", - pos: position{line: 967, col: 1, offset: 30503}, - expr: &ruleRefExpr{ - pos: position{line: 967, col: 36, offset: 30538}, - name: "MarkdownCodeDelimiter", - }, - }, - { - name: "MarkdownCodeBlockEndDelimiter", - pos: position{line: 969, col: 1, offset: 30561}, - expr: &seqExpr{ - pos: position{line: 969, col: 34, offset: 30594}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 969, col: 34, offset: 30594}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 969, col: 40, offset: 30600}, - expr: &ruleRefExpr{ - pos: position{line: 969, col: 40, offset: 30600}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 969, col: 47, offset: 30607}, - name: "EOL", - }, - }, - }, - }, - { - name: "MarkdownCodeBlockContent", - pos: position{line: 971, col: 1, offset: 30613}, - expr: &zeroOrMoreExpr{ - pos: position{line: 972, col: 5, offset: 30646}, - expr: &actionExpr{ - pos: position{line: 972, col: 6, offset: 30647}, - run: (*parser).callonMarkdownCodeBlockContent2, - expr: &seqExpr{ - pos: position{line: 972, col: 6, offset: 30647}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 972, col: 6, offset: 30647}, - expr: &ruleRefExpr{ - pos: position{line: 972, col: 7, offset: 30648}, - name: "MarkdownCodeBlockEndDelimiter", + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonInlineElement158, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 973, col: 5, offset: 30682}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 973, col: 11, offset: 30688}, - name: "DelimitedBlockRawLine", + &ruleRefExpr{ + pos: position{line: 1282, col: 11, offset: 39963}, + name: "Quote", + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonInlineElement165, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonInlineElement167, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonInlineElement170, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineElement174, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonInlineElement181, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonInlineElement186, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonInlineElement188, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonInlineElement192, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineElement196, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonInlineElement203, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonInlineElement208, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonInlineElement210, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonInlineElement214, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineElement218, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonInlineElement224, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineElement228, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, }, }, - }, - }, - }, - }, - }, - { - name: "MarkdownQuoteBlock", - pos: position{line: 980, col: 1, offset: 30824}, - expr: &actionExpr{ - pos: position{line: 981, col: 5, offset: 30851}, - run: (*parser).callonMarkdownQuoteBlock1, - expr: &seqExpr{ - pos: position{line: 981, col: 5, offset: 30851}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 981, col: 5, offset: 30851}, - label: "firstLine", - expr: &ruleRefExpr{ - pos: position{line: 981, col: 16, offset: 30862}, - name: "MarkdownQuoteRawLine", + &ruleRefExpr{ + pos: position{line: 1284, col: 11, offset: 40009}, + name: "InlineMacro", }, - }, - &labeledExpr{ - pos: position{line: 982, col: 5, offset: 30888}, - label: "otherLines", - expr: &zeroOrMoreExpr{ - pos: position{line: 982, col: 16, offset: 30899}, - expr: &choiceExpr{ - pos: position{line: 982, col: 17, offset: 30900}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 982, col: 17, offset: 30900}, - name: "MarkdownQuoteRawLine", + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonInlineElement235, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonInlineElement237, }, - &ruleRefExpr{ - pos: position{line: 982, col: 40, offset: 30923}, - name: "ParagraphRawLine", + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonInlineElement240, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonInlineElement242, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonInlineElement246, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineElement250, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonInlineElement256, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonInlineElement261, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineElement265, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonInlineElement271, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineElement275, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonInlineElement281, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonInlineElement284, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonInlineElement288, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonInlineElement292, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, }, + &actionExpr{ + pos: position{line: 3071, col: 12, offset: 99495}, + run: (*parser).callonInlineElement294, + expr: &anyMatcher{ + line: 3071, col: 12, offset: 99495, + }, + }, }, }, }, }, }, { - name: "MarkdownQuoteRawLine", - pos: position{line: 987, col: 1, offset: 31081}, + name: "InlineButton", + pos: position{line: 1310, col: 1, offset: 41002}, expr: &actionExpr{ - pos: position{line: 988, col: 5, offset: 31110}, - run: (*parser).callonMarkdownQuoteRawLine1, + pos: position{line: 1311, col: 5, offset: 41023}, + run: (*parser).callonInlineButton1, expr: &seqExpr{ - pos: position{line: 988, col: 5, offset: 31110}, + pos: position{line: 1311, col: 5, offset: 41023}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 988, col: 5, offset: 31110}, - expr: &ruleRefExpr{ - pos: position{line: 988, col: 6, offset: 31111}, - name: "BlankLine", - }, + &andCodeExpr{ + pos: position{line: 1311, col: 5, offset: 41023}, + run: (*parser).callonInlineButton3, }, &litMatcher{ - pos: position{line: 989, col: 5, offset: 31125}, - val: "> ", + pos: position{line: 1314, col: 5, offset: 41082}, + val: "btn:", ignoreCase: false, - want: "\"> \"", + want: "\"btn:\"", }, &labeledExpr{ - pos: position{line: 990, col: 5, offset: 31135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 990, col: 14, offset: 31144}, - run: (*parser).callonMarkdownQuoteRawLine7, - expr: &oneOrMoreExpr{ - pos: position{line: 990, col: 15, offset: 31145}, - expr: &charClassMatcher{ - pos: position{line: 990, col: 15, offset: 31145}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + pos: position{line: 1314, col: 12, offset: 41089}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1314, col: 24, offset: 41101}, + name: "InlineAttributes", }, }, - &ruleRefExpr{ - pos: position{line: 992, col: 8, offset: 31200}, - name: "EOL", - }, }, }, }, }, { - name: "MarkdownQuoteAttribution", - pos: position{line: 996, col: 1, offset: 31263}, + name: "InlineMenu", + pos: position{line: 1321, col: 1, offset: 41389}, expr: &actionExpr{ - pos: position{line: 997, col: 5, offset: 31296}, - run: (*parser).callonMarkdownQuoteAttribution1, + pos: position{line: 1322, col: 5, offset: 41408}, + run: (*parser).callonInlineMenu1, expr: &seqExpr{ - pos: position{line: 997, col: 5, offset: 31296}, + pos: position{line: 1322, col: 5, offset: 41408}, exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1322, col: 5, offset: 41408}, + run: (*parser).callonInlineMenu3, + }, &litMatcher{ - pos: position{line: 997, col: 5, offset: 31296}, - val: "-- ", + pos: position{line: 1325, col: 5, offset: 41467}, + val: "menu:", ignoreCase: false, - want: "\"-- \"", + want: "\"menu:\"", }, &labeledExpr{ - pos: position{line: 997, col: 11, offset: 31302}, - label: "author", + pos: position{line: 1325, col: 13, offset: 41475}, + label: "id", expr: &actionExpr{ - pos: position{line: 997, col: 19, offset: 31310}, - run: (*parser).callonMarkdownQuoteAttribution5, + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonInlineMenu6, expr: &oneOrMoreExpr{ - pos: position{line: 997, col: 20, offset: 31311}, + pos: position{line: 3104, col: 7, offset: 100612}, expr: &charClassMatcher{ - pos: position{line: 997, col: 20, offset: 31311}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, inverted: true, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 999, col: 8, offset: 31365}, - name: "EOL", + &labeledExpr{ + pos: position{line: 1325, col: 21, offset: 41483}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1325, col: 33, offset: 41495}, + name: "InlineAttributes", + }, }, }, }, }, }, { - name: "PassthroughBlock", - pos: position{line: 1006, col: 1, offset: 31479}, + name: "IndexTerm", + pos: position{line: 1332, col: 1, offset: 41794}, expr: &actionExpr{ - pos: position{line: 1007, col: 5, offset: 31503}, - run: (*parser).callonPassthroughBlock1, + pos: position{line: 1332, col: 14, offset: 41807}, + run: (*parser).callonIndexTerm1, expr: &seqExpr{ - pos: position{line: 1007, col: 5, offset: 31503}, + pos: position{line: 1332, col: 14, offset: 41807}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1007, col: 5, offset: 31503}, - label: "start", - expr: &ruleRefExpr{ - pos: position{line: 1007, col: 12, offset: 31510}, - name: "PassthroughBlockStartDelimiter", - }, - }, - &andCodeExpr{ - pos: position{line: 1008, col: 5, offset: 31546}, - run: (*parser).callonPassthroughBlock5, + &litMatcher{ + pos: position{line: 1332, col: 14, offset: 41807}, + val: "((", + ignoreCase: false, + want: "\"((\"", }, &labeledExpr{ - pos: position{line: 1011, col: 5, offset: 31638}, - label: "content", + pos: position{line: 1332, col: 19, offset: 41812}, + label: "term", expr: &ruleRefExpr{ - pos: position{line: 1011, col: 14, offset: 31647}, - name: "PassthroughBlockContent", + pos: position{line: 1332, col: 25, offset: 41818}, + name: "IndexTermContent", }, }, - &labeledExpr{ - pos: position{line: 1012, col: 5, offset: 31676}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 1012, col: 9, offset: 31680}, - expr: &ruleRefExpr{ - pos: position{line: 1012, col: 10, offset: 31681}, - name: "PassthroughBlockEndDelimiter", - }, - }, + &litMatcher{ + pos: position{line: 1332, col: 43, offset: 41836}, + val: "))", + ignoreCase: false, + want: "\"))\"", }, }, }, }, }, { - name: "PassthroughBlockStartDelimiter", - pos: position{line: 1016, col: 1, offset: 31804}, - expr: &ruleRefExpr{ - pos: position{line: 1016, col: 35, offset: 31838}, - name: "PassthroughBlockDelimiter", - }, - }, - { - name: "PassthroughBlockEndDelimiter", - pos: position{line: 1018, col: 1, offset: 31865}, - expr: &choiceExpr{ - pos: position{line: 1019, col: 5, offset: 31902}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 1019, col: 5, offset: 31902}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1019, col: 5, offset: 31902}, - label: "end", - expr: &ruleRefExpr{ - pos: position{line: 1019, col: 9, offset: 31906}, - name: "PassthroughBlockDelimiter", + name: "IndexTermContent", + pos: position{line: 1336, col: 1, offset: 41905}, + expr: &actionExpr{ + pos: position{line: 1336, col: 21, offset: 41925}, + run: (*parser).callonIndexTermContent1, + expr: &labeledExpr{ + pos: position{line: 1336, col: 21, offset: 41925}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 1336, col: 30, offset: 41934}, + expr: &choiceExpr{ + pos: position{line: 1336, col: 31, offset: 41935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + run: (*parser).callonIndexTermContent5, + expr: &seqExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + expr: &charClassMatcher{ + pos: position{line: 3045, col: 5, offset: 98581}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3045, col: 15, offset: 98591}, + expr: &choiceExpr{ + pos: position{line: 3045, col: 17, offset: 98593}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3045, col: 17, offset: 98593}, + val: "[\\r\\n ,]]", + chars: []rune{'\r', '\n', ' ', ',', ']'}, + ignoreCase: false, + inverted: false, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, }, - }, - &andCodeExpr{ - pos: position{line: 1020, col: 5, offset: 31937}, - run: (*parser).callonPassthroughBlockEndDelimiter5, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1023, col: 7, offset: 32031}, - name: "EOF", - }, - }, - }, - }, - { - name: "PassthroughBlockContent", - pos: position{line: 1025, col: 1, offset: 32036}, - expr: &zeroOrMoreExpr{ - pos: position{line: 1026, col: 5, offset: 32068}, - expr: &actionExpr{ - pos: position{line: 1026, col: 6, offset: 32069}, - run: (*parser).callonPassthroughBlockContent2, - expr: &seqExpr{ - pos: position{line: 1026, col: 6, offset: 32069}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1026, col: 6, offset: 32069}, - expr: &ruleRefExpr{ - pos: position{line: 1026, col: 7, offset: 32070}, - name: "PassthroughBlockEndDelimiter", + &actionExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + run: (*parser).callonIndexTermContent14, + expr: &seqExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + expr: &charClassMatcher{ + pos: position{line: 3047, col: 9, offset: 98675}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3047, col: 19, offset: 98685}, + expr: &seqExpr{ + pos: position{line: 3047, col: 20, offset: 98686}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3047, col: 20, offset: 98686}, + val: "[=*_`]", + chars: []rune{'=', '*', '_', '`'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 3047, col: 27, offset: 98693}, + expr: &charClassMatcher{ + pos: position{line: 3047, col: 27, offset: 98693}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, }, - }, - &labeledExpr{ - pos: position{line: 1027, col: 5, offset: 32103}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 1027, col: 11, offset: 32109}, - name: "DelimitedBlockRawLine", + &ruleRefExpr{ + pos: position{line: 1336, col: 38, offset: 41942}, + name: "QuotedText", + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonIndexTermContent24, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonIndexTermContent26, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonIndexTermContent28, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonIndexTermContent31, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonIndexTermContent33, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonIndexTermContent37, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonIndexTermContent41, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonIndexTermContent47, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonIndexTermContent52, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonIndexTermContent56, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonIndexTermContent62, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonIndexTermContent66, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonIndexTermContent72, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonIndexTermContent75, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonIndexTermContent79, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonIndexTermContent83, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonIndexTermContent85, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonIndexTermContent89, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1336, col: 99, offset: 42003}, + run: (*parser).callonIndexTermContent93, + expr: &seqExpr{ + pos: position{line: 1336, col: 100, offset: 42004}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1336, col: 100, offset: 42004}, + expr: &litMatcher{ + pos: position{line: 1336, col: 101, offset: 42005}, + val: "))", + ignoreCase: false, + want: "\"))\"", + }, + }, + &anyMatcher{ + line: 1336, col: 106, offset: 42010, + }, + }, + }, }, }, }, @@ -5258,111 +22139,934 @@ var g = &grammar{ }, }, { - name: "QuoteBlock", - pos: position{line: 1034, col: 1, offset: 32236}, + name: "ImageBlock", + pos: position{line: 1356, col: 1, offset: 42719}, expr: &actionExpr{ - pos: position{line: 1035, col: 5, offset: 32254}, - run: (*parser).callonQuoteBlock1, + pos: position{line: 1357, col: 5, offset: 42738}, + run: (*parser).callonImageBlock1, expr: &seqExpr{ - pos: position{line: 1035, col: 5, offset: 32254}, + pos: position{line: 1357, col: 5, offset: 42738}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1035, col: 5, offset: 32254}, - label: "start", - expr: &ruleRefExpr{ - pos: position{line: 1035, col: 12, offset: 32261}, - name: "QuoteBlockStartDelimiter", - }, - }, - &andCodeExpr{ - pos: position{line: 1036, col: 5, offset: 32291}, - run: (*parser).callonQuoteBlock5, + &litMatcher{ + pos: position{line: 1357, col: 5, offset: 42738}, + val: "image::", + ignoreCase: false, + want: "\"image::\"", }, &labeledExpr{ - pos: position{line: 1039, col: 5, offset: 32383}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 1039, col: 14, offset: 32392}, - name: "QuoteBlockContent", + pos: position{line: 1357, col: 15, offset: 42748}, + label: "path", + expr: &actionExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + run: (*parser).callonImageBlock5, + expr: &seqExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 3079, col: 20, offset: 99703}, + expr: &choiceExpr{ + pos: position{line: 3087, col: 11, offset: 99965}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3087, col: 11, offset: 99965}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 23, offset: 99977}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 36, offset: 99990}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 47, offset: 100001}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 58, offset: 100012}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3079, col: 30, offset: 99713}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3079, col: 35, offset: 99718}, + expr: &choiceExpr{ + pos: position{line: 3079, col: 36, offset: 99719}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonImageBlock18, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonImageBlock25, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonImageBlock29, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonImageBlock36, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonImageBlock38, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonImageBlock40, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonImageBlock43, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonImageBlock47, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonImageBlock54, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonImageBlock59, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonImageBlock61, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonImageBlock65, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonImageBlock69, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonImageBlock76, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonImageBlock81, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonImageBlock83, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonImageBlock87, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonImageBlock91, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonImageBlock97, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonImageBlock101, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonImageBlock107, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonImageBlock109, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonImageBlock112, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonImageBlock114, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonImageBlock118, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonImageBlock122, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonImageBlock128, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonImageBlock133, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonImageBlock137, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonImageBlock143, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonImageBlock147, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonImageBlock153, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonImageBlock156, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonImageBlock160, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonImageBlock164, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonImageBlock166, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonImageBlock168, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonImageBlock172, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, &labeledExpr{ - pos: position{line: 1040, col: 5, offset: 32415}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 1040, col: 9, offset: 32419}, - expr: &ruleRefExpr{ - pos: position{line: 1040, col: 10, offset: 32420}, - name: "QuoteBlockEndDelimiter", - }, + pos: position{line: 1357, col: 31, offset: 42764}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1357, col: 43, offset: 42776}, + name: "InlineAttributes", }, }, - }, - }, - }, - }, - { - name: "QuoteBlockStartDelimiter", - pos: position{line: 1044, col: 1, offset: 32531}, - expr: &ruleRefExpr{ - pos: position{line: 1044, col: 29, offset: 32559}, - name: "QuoteBlockDelimiter", - }, - }, - { - name: "QuoteBlockEndDelimiter", - pos: position{line: 1046, col: 1, offset: 32580}, - expr: &choiceExpr{ - pos: position{line: 1047, col: 5, offset: 32611}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 1047, col: 5, offset: 32611}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1047, col: 5, offset: 32611}, - label: "end", - expr: &ruleRefExpr{ - pos: position{line: 1047, col: 9, offset: 32615}, - name: "QuoteBlockDelimiter", + &zeroOrMoreExpr{ + pos: position{line: 1357, col: 61, offset: 42794}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonImageBlock179, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, - &andCodeExpr{ - pos: position{line: 1048, col: 5, offset: 32640}, - run: (*parser).callonQuoteBlockEndDelimiter5, - }, }, - }, - &ruleRefExpr{ - pos: position{line: 1051, col: 7, offset: 32734}, - name: "EOF", - }, - }, - }, - }, - { - name: "QuoteBlockContent", - pos: position{line: 1053, col: 1, offset: 32739}, - expr: &zeroOrMoreExpr{ - pos: position{line: 1054, col: 4, offset: 32764}, - expr: &actionExpr{ - pos: position{line: 1054, col: 5, offset: 32765}, - run: (*parser).callonQuoteBlockContent2, - expr: &seqExpr{ - pos: position{line: 1054, col: 5, offset: 32765}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1054, col: 5, offset: 32765}, - expr: &ruleRefExpr{ - pos: position{line: 1054, col: 6, offset: 32766}, - name: "QuoteBlockEndDelimiter", + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonImageBlock182, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, - }, - &labeledExpr{ - pos: position{line: 1055, col: 5, offset: 32793}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 1055, col: 11, offset: 32799}, - name: "DelimitedBlockRawLine", + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, }, @@ -5371,43 +23075,892 @@ var g = &grammar{ }, }, { - name: "SidebarBlock", - pos: position{line: 1062, col: 1, offset: 32928}, + name: "InlineImage", + pos: position{line: 1362, col: 1, offset: 43011}, expr: &actionExpr{ - pos: position{line: 1063, col: 5, offset: 32948}, - run: (*parser).callonSidebarBlock1, + pos: position{line: 1362, col: 16, offset: 43026}, + run: (*parser).callonInlineImage1, expr: &seqExpr{ - pos: position{line: 1063, col: 5, offset: 32948}, + pos: position{line: 1362, col: 16, offset: 43026}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1063, col: 5, offset: 32948}, - label: "start", - expr: &ruleRefExpr{ - pos: position{line: 1063, col: 12, offset: 32955}, - name: "SidebarBlockStartDelimiter", - }, + &litMatcher{ + pos: position{line: 1362, col: 16, offset: 43026}, + val: "image:", + ignoreCase: false, + want: "\"image:\"", }, - &andCodeExpr{ - pos: position{line: 1064, col: 5, offset: 32987}, - run: (*parser).callonSidebarBlock5, + ¬Expr{ + pos: position{line: 1362, col: 25, offset: 43035}, + expr: &litMatcher{ + pos: position{line: 1362, col: 26, offset: 43036}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, }, &labeledExpr{ - pos: position{line: 1067, col: 5, offset: 33079}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 1067, col: 14, offset: 33088}, - name: "SidebarBlockContent", + pos: position{line: 1362, col: 30, offset: 43040}, + label: "path", + expr: &actionExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + run: (*parser).callonInlineImage7, + expr: &seqExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 3079, col: 20, offset: 99703}, + expr: &choiceExpr{ + pos: position{line: 3087, col: 11, offset: 99965}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3087, col: 11, offset: 99965}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 23, offset: 99977}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 36, offset: 99990}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 47, offset: 100001}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 58, offset: 100012}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3079, col: 30, offset: 99713}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3079, col: 35, offset: 99718}, + expr: &choiceExpr{ + pos: position{line: 3079, col: 36, offset: 99719}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonInlineImage20, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonInlineImage27, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonInlineImage31, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineImage38, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonInlineImage40, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonInlineImage42, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonInlineImage45, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineImage49, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonInlineImage56, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonInlineImage61, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonInlineImage63, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonInlineImage67, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineImage71, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonInlineImage78, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonInlineImage83, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonInlineImage85, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonInlineImage89, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineImage93, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonInlineImage99, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineImage103, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonInlineImage109, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonInlineImage111, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonInlineImage114, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonInlineImage116, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonInlineImage120, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineImage124, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonInlineImage130, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonInlineImage135, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineImage139, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonInlineImage145, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonInlineImage149, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonInlineImage155, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonInlineImage158, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonInlineImage162, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonInlineImage166, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonInlineImage168, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonInlineImage170, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonInlineImage174, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, &labeledExpr{ - pos: position{line: 1068, col: 5, offset: 33113}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 1068, col: 9, offset: 33117}, - expr: &ruleRefExpr{ - pos: position{line: 1068, col: 10, offset: 33118}, - name: "SidebarBlockEndDelimiter", - }, + pos: position{line: 1362, col: 46, offset: 43056}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1362, col: 58, offset: 43068}, + name: "InlineAttributes", }, }, }, @@ -5415,195 +23968,137 @@ var g = &grammar{ }, }, { - name: "SidebarBlockStartDelimiter", - pos: position{line: 1072, col: 1, offset: 33233}, - expr: &ruleRefExpr{ - pos: position{line: 1072, col: 31, offset: 33263}, - name: "SidebarBlockDelimiter", - }, - }, - { - name: "SidebarBlockEndDelimiter", - pos: position{line: 1074, col: 1, offset: 33286}, - expr: &choiceExpr{ - pos: position{line: 1075, col: 5, offset: 33319}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 1075, col: 5, offset: 33319}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1075, col: 5, offset: 33319}, - label: "end", - expr: &ruleRefExpr{ - pos: position{line: 1075, col: 9, offset: 33323}, - name: "SidebarBlockDelimiter", + name: "InlineIcon", + pos: position{line: 1369, col: 1, offset: 43464}, + expr: &actionExpr{ + pos: position{line: 1369, col: 15, offset: 43478}, + run: (*parser).callonInlineIcon1, + expr: &seqExpr{ + pos: position{line: 1369, col: 15, offset: 43478}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1369, col: 15, offset: 43478}, + val: "icon:", + ignoreCase: false, + want: "\"icon:\"", + }, + &labeledExpr{ + pos: position{line: 1369, col: 23, offset: 43486}, + label: "icon", + expr: &actionExpr{ + pos: position{line: 1369, col: 29, offset: 43492}, + run: (*parser).callonInlineIcon5, + expr: &oneOrMoreExpr{ + pos: position{line: 1369, col: 29, offset: 43492}, + expr: &charClassMatcher{ + pos: position{line: 1369, col: 29, offset: 43492}, + val: "[_-0-9\\pL]", + chars: []rune{'_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, - &andCodeExpr{ - pos: position{line: 1076, col: 5, offset: 33350}, - run: (*parser).callonSidebarBlockEndDelimiter5, + }, + &labeledExpr{ + pos: position{line: 1369, col: 73, offset: 43536}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1369, col: 85, offset: 43548}, + name: "InlineAttributes", }, }, }, - &ruleRefExpr{ - pos: position{line: 1079, col: 7, offset: 33444}, - name: "EOF", - }, }, }, }, { - name: "SidebarBlockContent", - pos: position{line: 1081, col: 1, offset: 33449}, - expr: &zeroOrMoreExpr{ - pos: position{line: 1082, col: 4, offset: 33476}, - expr: &actionExpr{ - pos: position{line: 1082, col: 5, offset: 33477}, - run: (*parser).callonSidebarBlockContent2, - expr: &seqExpr{ - pos: position{line: 1082, col: 5, offset: 33477}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1082, col: 5, offset: 33477}, - expr: &ruleRefExpr{ - pos: position{line: 1082, col: 6, offset: 33478}, - name: "SidebarBlockEndDelimiter", + name: "InlineFootnote", + pos: position{line: 1376, col: 1, offset: 43914}, + expr: &choiceExpr{ + pos: position{line: 1376, col: 19, offset: 43932}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1376, col: 19, offset: 43932}, + run: (*parser).callonInlineFootnote2, + expr: &seqExpr{ + pos: position{line: 1376, col: 19, offset: 43932}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1376, col: 19, offset: 43932}, + val: "footnote:[", + ignoreCase: false, + want: "\"footnote:[\"", }, - }, - &labeledExpr{ - pos: position{line: 1083, col: 5, offset: 33507}, - label: "line", - expr: &ruleRefExpr{ - pos: position{line: 1083, col: 11, offset: 33513}, - name: "DelimitedBlockRawLine", + &labeledExpr{ + pos: position{line: 1376, col: 32, offset: 43945}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1376, col: 42, offset: 43955}, + name: "FootnoteElements", + }, }, - }, - }, - }, - }, - }, - }, - { - name: "DocumentHeader", - pos: position{line: 1090, col: 1, offset: 33782}, - expr: &actionExpr{ - pos: position{line: 1091, col: 5, offset: 33805}, - run: (*parser).callonDocumentHeader1, - expr: &seqExpr{ - pos: position{line: 1091, col: 5, offset: 33805}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1091, col: 5, offset: 33805}, - run: (*parser).callonDocumentHeader3, - }, - &labeledExpr{ - pos: position{line: 1094, col: 5, offset: 33866}, - label: "extraAttrs", - expr: &ruleRefExpr{ - pos: position{line: 1094, col: 17, offset: 33878}, - name: "DocumentHeaderAttributes", - }, - }, - &labeledExpr{ - pos: position{line: 1095, col: 5, offset: 33908}, - label: "info", - expr: &zeroOrOneExpr{ - pos: position{line: 1095, col: 10, offset: 33913}, - expr: &ruleRefExpr{ - pos: position{line: 1095, col: 11, offset: 33914}, - name: "DocumentInformation", + &litMatcher{ + pos: position{line: 1376, col: 60, offset: 43973}, + val: "]", + ignoreCase: false, + want: "\"]\"", }, }, }, - &labeledExpr{ - pos: position{line: 1096, col: 5, offset: 33940}, - label: "moreExtraAttrs", - expr: &ruleRefExpr{ - pos: position{line: 1096, col: 21, offset: 33956}, - name: "DocumentHeaderAttributes", - }, - }, - &andCodeExpr{ - pos: position{line: 1097, col: 5, offset: 33986}, - run: (*parser).callonDocumentHeader11, - }, - }, - }, - }, - }, - { - name: "DocumentHeaderAttributes", - pos: position{line: 1115, col: 1, offset: 34621}, - expr: &zeroOrMoreExpr{ - pos: position{line: 1115, col: 29, offset: 34649}, - expr: &choiceExpr{ - pos: position{line: 1115, col: 30, offset: 34650}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1115, col: 30, offset: 34650}, - name: "AttributeDeclaration", - }, - &ruleRefExpr{ - pos: position{line: 1115, col: 53, offset: 34673}, - name: "AttributeReset", - }, - &ruleRefExpr{ - pos: position{line: 1115, col: 70, offset: 34690}, - name: "SingleLineComment", - }, - &ruleRefExpr{ - pos: position{line: 1115, col: 90, offset: 34710}, - name: "CommentBlock", - }, - &ruleRefExpr{ - pos: position{line: 1115, col: 105, offset: 34725}, - name: "BlankLine", - }, }, - }, - }, - }, - { - name: "DocumentInformation", - pos: position{line: 1117, col: 1, offset: 34739}, - expr: &actionExpr{ - pos: position{line: 1118, col: 5, offset: 34766}, - run: (*parser).callonDocumentInformation1, - expr: &seqExpr{ - pos: position{line: 1118, col: 5, offset: 34766}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1118, col: 5, offset: 34766}, - label: "title", - expr: &ruleRefExpr{ - pos: position{line: 1118, col: 12, offset: 34773}, - name: "DocumentTitle", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1119, col: 5, offset: 34792}, - expr: &choiceExpr{ - pos: position{line: 1119, col: 6, offset: 34793}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1119, col: 6, offset: 34793}, - name: "SingleLineComment", + &actionExpr{ + pos: position{line: 1378, col: 9, offset: 44051}, + run: (*parser).callonInlineFootnote8, + expr: &seqExpr{ + pos: position{line: 1378, col: 9, offset: 44051}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1378, col: 9, offset: 44051}, + val: "footnote:", + ignoreCase: false, + want: "\"footnote:\"", + }, + &labeledExpr{ + pos: position{line: 1378, col: 21, offset: 44063}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonInlineFootnote12, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 1119, col: 26, offset: 34813}, - name: "CommentBlock", + }, + &litMatcher{ + pos: position{line: 1378, col: 39, offset: 44081}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + &labeledExpr{ + pos: position{line: 1378, col: 43, offset: 44085}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1378, col: 53, offset: 44095}, + name: "FootnoteElements", }, }, - }, - }, - &labeledExpr{ - pos: position{line: 1120, col: 5, offset: 34867}, - label: "authorsAndRevision", - expr: &zeroOrOneExpr{ - pos: position{line: 1120, col: 24, offset: 34886}, - expr: &ruleRefExpr{ - pos: position{line: 1120, col: 25, offset: 34887}, - name: "DocumentAuthorsAndRevision", + &litMatcher{ + pos: position{line: 1378, col: 71, offset: 44113}, + val: "]", + ignoreCase: false, + want: "\"]\"", }, }, }, @@ -5612,622 +24107,2807 @@ var g = &grammar{ }, }, { - name: "DocumentTitle", - pos: position{line: 1125, col: 1, offset: 35025}, + name: "FootnoteElements", + pos: position{line: 1384, col: 1, offset: 44279}, expr: &actionExpr{ - pos: position{line: 1126, col: 5, offset: 35047}, - run: (*parser).callonDocumentTitle1, - expr: &seqExpr{ - pos: position{line: 1126, col: 5, offset: 35047}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1126, col: 5, offset: 35047}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - &ruleRefExpr{ - pos: position{line: 1126, col: 9, offset: 35051}, - name: "Spaces", - }, - &labeledExpr{ - pos: position{line: 1126, col: 16, offset: 35058}, - label: "title", - expr: &ruleRefExpr{ - pos: position{line: 1126, col: 23, offset: 35065}, - name: "SectionTitle", - }, - }, - &ruleRefExpr{ - pos: position{line: 1126, col: 37, offset: 35079}, - name: "EOL", + pos: position{line: 1384, col: 21, offset: 44299}, + run: (*parser).callonFootnoteElements1, + expr: &labeledExpr{ + pos: position{line: 1384, col: 21, offset: 44299}, + label: "elements", + expr: &zeroOrMoreExpr{ + pos: position{line: 1384, col: 30, offset: 44308}, + expr: &ruleRefExpr{ + pos: position{line: 1384, col: 31, offset: 44309}, + name: "FootnoteElement", }, }, }, }, }, { - name: "DocumentAuthorsAndRevision", - pos: position{line: 1130, col: 1, offset: 35118}, + name: "FootnoteElement", + pos: position{line: 1388, col: 1, offset: 44401}, expr: &actionExpr{ - pos: position{line: 1131, col: 5, offset: 35153}, - run: (*parser).callonDocumentAuthorsAndRevision1, + pos: position{line: 1389, col: 5, offset: 44425}, + run: (*parser).callonFootnoteElement1, expr: &seqExpr{ - pos: position{line: 1131, col: 5, offset: 35153}, + pos: position{line: 1389, col: 5, offset: 44425}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1131, col: 5, offset: 35153}, - label: "authors", - expr: &ruleRefExpr{ - pos: position{line: 1131, col: 14, offset: 35162}, - name: "DocumentAuthors", + ¬Expr{ + pos: position{line: 1389, col: 5, offset: 44425}, + expr: &litMatcher{ + pos: position{line: 1389, col: 6, offset: 44426}, + val: "]", + ignoreCase: false, + want: "\"]\"", }, }, - &zeroOrMoreExpr{ - pos: position{line: 1132, col: 5, offset: 35183}, + &labeledExpr{ + pos: position{line: 1390, col: 5, offset: 44435}, + label: "element", expr: &choiceExpr{ - pos: position{line: 1132, col: 6, offset: 35184}, + pos: position{line: 1391, col: 9, offset: 44453}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1132, col: 6, offset: 35184}, - name: "SingleLineComment", + pos: position{line: 1391, col: 9, offset: 44453}, + name: "InlineElement", }, - &ruleRefExpr{ - pos: position{line: 1132, col: 26, offset: 35204}, - name: "CommentBlock", + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonFootnoteElement8, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, }, }, }, - &labeledExpr{ - pos: position{line: 1133, col: 5, offset: 35258}, - label: "revision", - expr: &zeroOrOneExpr{ - pos: position{line: 1133, col: 14, offset: 35267}, - expr: &ruleRefExpr{ - pos: position{line: 1133, col: 15, offset: 35268}, - name: "DocumentRevision", - }, - }, - }, }, }, }, }, { - name: "DocumentAuthors", - pos: position{line: 1137, col: 1, offset: 35390}, - expr: &actionExpr{ - pos: position{line: 1137, col: 20, offset: 35409}, - run: (*parser).callonDocumentAuthors1, - expr: &seqExpr{ - pos: position{line: 1137, col: 20, offset: 35409}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1137, col: 20, offset: 35409}, - expr: &ruleRefExpr{ - pos: position{line: 1137, col: 20, offset: 35409}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 1137, col: 27, offset: 35416}, - label: "authors", - expr: &choiceExpr{ - pos: position{line: 1137, col: 36, offset: 35425}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1137, col: 36, offset: 35425}, - name: "DocumentAuthorsInlineForm", - }, - &ruleRefExpr{ - pos: position{line: 1137, col: 64, offset: 35453}, - name: "DocumentAuthorsAttributeForm", + name: "PassthroughMacro", + pos: position{line: 1424, col: 1, offset: 46077}, + expr: &choiceExpr{ + pos: position{line: 1424, col: 21, offset: 46097}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1424, col: 21, offset: 46097}, + run: (*parser).callonPassthroughMacro2, + expr: &seqExpr{ + pos: position{line: 1424, col: 21, offset: 46097}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1424, col: 21, offset: 46097}, + val: "pass:[", + ignoreCase: false, + want: "\"pass:[\"", + }, + &labeledExpr{ + pos: position{line: 1424, col: 30, offset: 46106}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1424, col: 38, offset: 46114}, + expr: &actionExpr{ + pos: position{line: 1430, col: 30, offset: 46440}, + run: (*parser).callonPassthroughMacro7, + expr: &charClassMatcher{ + pos: position{line: 1430, col: 30, offset: 46440}, + val: "[^]]", + chars: []rune{']'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, + &litMatcher{ + pos: position{line: 1424, col: 67, offset: 46143}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, }, }, - &ruleRefExpr{ - pos: position{line: 1137, col: 94, offset: 35483}, - name: "EOL", - }, }, - }, - }, - }, - { - name: "DocumentAuthorsInlineForm", - pos: position{line: 1141, col: 1, offset: 35516}, - expr: &actionExpr{ - pos: position{line: 1141, col: 30, offset: 35545}, - run: (*parser).callonDocumentAuthorsInlineForm1, - expr: &seqExpr{ - pos: position{line: 1141, col: 30, offset: 35545}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1141, col: 30, offset: 35545}, - expr: &litMatcher{ - pos: position{line: 1141, col: 31, offset: 35546}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1141, col: 35, offset: 35550}, - label: "authors", - expr: &oneOrMoreExpr{ - pos: position{line: 1141, col: 44, offset: 35559}, - expr: &ruleRefExpr{ - pos: position{line: 1141, col: 44, offset: 35559}, - name: "DocumentAuthor", - }, - }, - }, - }, - }, - }, - }, - { - name: "DocumentAuthorsAttributeForm", - pos: position{line: 1145, col: 1, offset: 35645}, - expr: &actionExpr{ - pos: position{line: 1145, col: 33, offset: 35677}, - run: (*parser).callonDocumentAuthorsAttributeForm1, - expr: &seqExpr{ - pos: position{line: 1145, col: 33, offset: 35677}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1145, col: 33, offset: 35677}, - val: ":author:", - ignoreCase: false, - want: "\":author:\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1145, col: 44, offset: 35688}, - expr: &ruleRefExpr{ - pos: position{line: 1145, col: 44, offset: 35688}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 1145, col: 51, offset: 35695}, - label: "author", - expr: &ruleRefExpr{ - pos: position{line: 1145, col: 59, offset: 35703}, - name: "DocumentAuthor", - }, - }, - }, - }, - }, - }, - { - name: "DocumentAuthor", - pos: position{line: 1149, col: 1, offset: 35768}, - expr: &actionExpr{ - pos: position{line: 1150, col: 5, offset: 35791}, - run: (*parser).callonDocumentAuthor1, - expr: &seqExpr{ - pos: position{line: 1150, col: 5, offset: 35791}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1150, col: 5, offset: 35791}, - label: "fullName", - expr: &zeroOrOneExpr{ - pos: position{line: 1150, col: 14, offset: 35800}, - expr: &ruleRefExpr{ - pos: position{line: 1150, col: 15, offset: 35801}, - name: "DocumentAuthorFullName", - }, - }, - }, - &labeledExpr{ - pos: position{line: 1150, col: 40, offset: 35826}, - label: "email", - expr: &zeroOrOneExpr{ - pos: position{line: 1150, col: 46, offset: 35832}, - expr: &ruleRefExpr{ - pos: position{line: 1150, col: 47, offset: 35833}, - name: "DocumentAuthorEmail", - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1150, col: 69, offset: 35855}, - expr: &ruleRefExpr{ - pos: position{line: 1150, col: 69, offset: 35855}, - name: "Space", - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1150, col: 76, offset: 35862}, - expr: &litMatcher{ - pos: position{line: 1150, col: 76, offset: 35862}, - val: ";", - ignoreCase: false, - want: "\";\"", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1150, col: 81, offset: 35867}, - expr: &ruleRefExpr{ - pos: position{line: 1150, col: 81, offset: 35867}, - name: "Space", - }, - }, - &andCodeExpr{ - pos: position{line: 1151, col: 5, offset: 35879}, - run: (*parser).callonDocumentAuthor15, - }, - }, - }, - }, - }, - { - name: "DocumentAuthorFullName", - pos: position{line: 1160, col: 1, offset: 36149}, - expr: &actionExpr{ - pos: position{line: 1161, col: 5, offset: 36180}, - run: (*parser).callonDocumentAuthorFullName1, - expr: &seqExpr{ - pos: position{line: 1161, col: 5, offset: 36180}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1161, col: 5, offset: 36180}, - label: "part1", - expr: &actionExpr{ - pos: position{line: 1161, col: 12, offset: 36187}, - run: (*parser).callonDocumentAuthorFullName4, - expr: &oneOrMoreExpr{ - pos: position{line: 1161, col: 12, offset: 36187}, - expr: &charClassMatcher{ - pos: position{line: 1161, col: 12, offset: 36187}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, + &actionExpr{ + pos: position{line: 1426, col: 9, offset: 46247}, + run: (*parser).callonPassthroughMacro10, + expr: &seqExpr{ + pos: position{line: 1426, col: 9, offset: 46247}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1426, col: 9, offset: 46247}, + val: "pass:q[", + ignoreCase: false, + want: "\"pass:q[\"", }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1164, col: 5, offset: 36267}, - expr: &ruleRefExpr{ - pos: position{line: 1164, col: 5, offset: 36267}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 1165, col: 5, offset: 36278}, - label: "part2", - expr: &zeroOrOneExpr{ - pos: position{line: 1165, col: 11, offset: 36284}, - expr: &actionExpr{ - pos: position{line: 1165, col: 12, offset: 36285}, - run: (*parser).callonDocumentAuthorFullName11, - expr: &oneOrMoreExpr{ - pos: position{line: 1165, col: 12, offset: 36285}, - expr: &charClassMatcher{ - pos: position{line: 1165, col: 12, offset: 36285}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 1426, col: 19, offset: 46257}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1426, col: 27, offset: 46265}, + expr: &choiceExpr{ + pos: position{line: 1426, col: 28, offset: 46266}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 1426, col: 28, offset: 46266}, + name: "QuotedText", + }, + &actionExpr{ + pos: position{line: 1430, col: 30, offset: 46440}, + run: (*parser).callonPassthroughMacro17, + expr: &charClassMatcher{ + pos: position{line: 1430, col: 30, offset: 46440}, + val: "[^]]", + chars: []rune{']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, }, }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1168, col: 5, offset: 36366}, - expr: &ruleRefExpr{ - pos: position{line: 1168, col: 5, offset: 36366}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 1169, col: 5, offset: 36377}, - label: "part3", - expr: &zeroOrOneExpr{ - pos: position{line: 1169, col: 11, offset: 36383}, - expr: &actionExpr{ - pos: position{line: 1169, col: 12, offset: 36384}, - run: (*parser).callonDocumentAuthorFullName18, - expr: &oneOrMoreExpr{ - pos: position{line: 1169, col: 12, offset: 36384}, - expr: &charClassMatcher{ - pos: position{line: 1169, col: 12, offset: 36384}, - val: "[^<;\\r\\n]", - chars: []rune{'<', ';', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + &litMatcher{ + pos: position{line: 1426, col: 69, offset: 46307}, + val: "]", + ignoreCase: false, + want: "\"]\"", }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1172, col: 5, offset: 36463}, - expr: &ruleRefExpr{ - pos: position{line: 1172, col: 5, offset: 36463}, - name: "Space", - }, - }, }, }, }, }, { - name: "DocumentAuthorEmail", - pos: position{line: 1177, col: 1, offset: 36557}, - expr: &actionExpr{ - pos: position{line: 1178, col: 5, offset: 36585}, - run: (*parser).callonDocumentAuthorEmail1, - expr: &seqExpr{ - pos: position{line: 1178, col: 5, offset: 36585}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1178, col: 5, offset: 36585}, - expr: &ruleRefExpr{ - pos: position{line: 1178, col: 6, offset: 36586}, - name: "EOF", - }, - }, - &litMatcher{ - pos: position{line: 1179, col: 5, offset: 36595}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1180, col: 5, offset: 36604}, - label: "email", - expr: &actionExpr{ - pos: position{line: 1180, col: 12, offset: 36611}, - run: (*parser).callonDocumentAuthorEmail7, - expr: &oneOrMoreExpr{ - pos: position{line: 1180, col: 13, offset: 36612}, - expr: &charClassMatcher{ - pos: position{line: 1180, col: 13, offset: 36612}, - val: "[^>\\r\\n]", - chars: []rune{'>', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + name: "Link", + pos: position{line: 1437, col: 1, offset: 46696}, + expr: &choiceExpr{ + pos: position{line: 1437, col: 9, offset: 46704}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1440, col: 5, offset: 46758}, + run: (*parser).callonLink2, + expr: &seqExpr{ + pos: position{line: 1440, col: 5, offset: 46758}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1440, col: 5, offset: 46758}, + val: "<", + ignoreCase: false, + want: "\"<\"", }, - }, - }, - &litMatcher{ - pos: position{line: 1183, col: 5, offset: 36672}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - }, - }, - }, - { - name: "DocumentRevision", - pos: position{line: 1189, col: 1, offset: 36841}, - expr: &actionExpr{ - pos: position{line: 1189, col: 21, offset: 36861}, - run: (*parser).callonDocumentRevision1, - expr: &seqExpr{ - pos: position{line: 1189, col: 21, offset: 36861}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1189, col: 21, offset: 36861}, - expr: &ruleRefExpr{ - pos: position{line: 1189, col: 21, offset: 36861}, - name: "Space", - }, - }, - ¬Expr{ - pos: position{line: 1189, col: 28, offset: 36868}, - expr: &litMatcher{ - pos: position{line: 1189, col: 29, offset: 36869}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1189, col: 33, offset: 36873}, - label: "revision", - expr: &choiceExpr{ - pos: position{line: 1190, col: 9, offset: 36892}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1190, col: 10, offset: 36893}, - run: (*parser).callonDocumentRevision9, + &labeledExpr{ + pos: position{line: 1441, col: 5, offset: 46767}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3083, col: 23, offset: 99845}, + run: (*parser).callonLink6, expr: &seqExpr{ - pos: position{line: 1190, col: 10, offset: 36893}, + pos: position{line: 3083, col: 23, offset: 99845}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1190, col: 10, offset: 36893}, - label: "revnumber", - expr: &ruleRefExpr{ - pos: position{line: 1190, col: 21, offset: 36904}, - name: "DocumentRevisionNumber", - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1190, col: 45, offset: 36928}, + ¬Expr{ + pos: position{line: 3083, col: 23, offset: 99845}, expr: &litMatcher{ - pos: position{line: 1190, col: 45, offset: 36928}, - val: ",", + pos: position{line: 3083, col: 24, offset: 99846}, + val: "[", ignoreCase: false, - want: "\",\"", + want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1190, col: 50, offset: 36933}, - label: "revdate", - expr: &zeroOrOneExpr{ - pos: position{line: 1190, col: 58, offset: 36941}, - expr: &ruleRefExpr{ - pos: position{line: 1190, col: 59, offset: 36942}, - name: "DocumentRevisionDate", + pos: position{line: 3083, col: 28, offset: 99850}, + label: "scheme", + expr: &choiceExpr{ + pos: position{line: 3087, col: 11, offset: 99965}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3087, col: 11, offset: 99965}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 23, offset: 99977}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 36, offset: 99990}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 47, offset: 100001}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 58, offset: 100012}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, }, }, }, - &zeroOrOneExpr{ - pos: position{line: 1190, col: 82, offset: 36965}, - expr: &litMatcher{ - pos: position{line: 1190, col: 82, offset: 36965}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, &labeledExpr{ - pos: position{line: 1190, col: 87, offset: 36970}, - label: "revremark", - expr: &zeroOrOneExpr{ - pos: position{line: 1190, col: 97, offset: 36980}, - expr: &ruleRefExpr{ - pos: position{line: 1190, col: 98, offset: 36981}, - name: "DocumentRevisionRemark", + pos: position{line: 3083, col: 44, offset: 99866}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3083, col: 49, offset: 99871}, + expr: &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonLink19, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonLink26, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonLink30, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonLink37, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonLink39, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonLink41, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonLink44, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonLink48, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonLink55, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonLink60, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonLink62, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonLink66, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonLink70, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonLink77, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonLink82, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonLink84, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonLink88, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonLink92, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonLink98, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonLink102, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonLink108, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonLink110, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonLink113, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonLink115, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonLink119, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonLink123, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonLink129, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonLink134, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonLink138, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonLink144, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonLink148, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonLink154, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonLink157, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonLink161, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonLink165, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonLink167, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 1192, col: 15, offset: 37098}, - run: (*parser).callonDocumentRevision23, - expr: &seqExpr{ - pos: position{line: 1192, col: 15, offset: 37098}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1192, col: 15, offset: 37098}, - label: "revdate", - expr: &ruleRefExpr{ - pos: position{line: 1192, col: 24, offset: 37107}, - name: "DocumentRevisionDate", - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1192, col: 46, offset: 37129}, - expr: &litMatcher{ - pos: position{line: 1192, col: 46, offset: 37129}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1192, col: 51, offset: 37134}, - label: "revremark", - expr: &zeroOrOneExpr{ - pos: position{line: 1192, col: 61, offset: 37144}, - expr: &ruleRefExpr{ - pos: position{line: 1192, col: 62, offset: 37145}, - name: "DocumentRevisionRemark", - }, - }, - }, - }, - }, + }, + &zeroOrOneExpr{ + pos: position{line: 1442, col: 5, offset: 46834}, + expr: &litMatcher{ + pos: position{line: 1442, col: 5, offset: 46834}, + val: ">", + ignoreCase: false, + want: "\">\"", }, }, + &andCodeExpr{ + pos: position{line: 1443, col: 5, offset: 46843}, + run: (*parser).callonLink171, + }, }, }, - &ruleRefExpr{ - pos: position{line: 1194, col: 13, offset: 37254}, - name: "EOL", - }, + }, + &ruleRefExpr{ + pos: position{line: 1437, col: 19, offset: 46714}, + name: "RelativeLink", + }, + &ruleRefExpr{ + pos: position{line: 1437, col: 34, offset: 46729}, + name: "ExternalLink", }, }, }, }, { - name: "DocumentRevisionNumber", - pos: position{line: 1199, col: 1, offset: 37384}, + name: "RelativeLink", + pos: position{line: 1451, col: 1, offset: 47058}, expr: &choiceExpr{ - pos: position{line: 1199, col: 27, offset: 37410}, + pos: position{line: 1453, col: 5, offset: 47094}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1199, col: 27, offset: 37410}, - run: (*parser).callonDocumentRevisionNumber2, + pos: position{line: 1453, col: 5, offset: 47094}, + run: (*parser).callonRelativeLink2, expr: &seqExpr{ - pos: position{line: 1199, col: 27, offset: 37410}, + pos: position{line: 1453, col: 5, offset: 47094}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1199, col: 27, offset: 37410}, - val: "v", - ignoreCase: true, - want: "\"v\"i", - }, - &charClassMatcher{ - pos: position{line: 1199, col: 32, offset: 37415}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + pos: position{line: 1453, col: 5, offset: 47094}, + val: "\\link:", ignoreCase: false, - inverted: false, + want: "\"\\\\link:\"", }, - &oneOrMoreExpr{ - pos: position{line: 1199, col: 38, offset: 37421}, - expr: &charClassMatcher{ - pos: position{line: 1199, col: 38, offset: 37421}, - val: "[^:,\\r\\n]", - chars: []rune{':', ',', '\r', '\n'}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 1453, col: 17, offset: 47106}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + run: (*parser).callonRelativeLink6, + expr: &seqExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 3079, col: 20, offset: 99703}, + expr: &choiceExpr{ + pos: position{line: 3087, col: 11, offset: 99965}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3087, col: 11, offset: 99965}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 23, offset: 99977}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 36, offset: 99990}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 47, offset: 100001}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 58, offset: 100012}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3079, col: 30, offset: 99713}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3079, col: 35, offset: 99718}, + expr: &choiceExpr{ + pos: position{line: 3079, col: 36, offset: 99719}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonRelativeLink19, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonRelativeLink26, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonRelativeLink30, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonRelativeLink37, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonRelativeLink39, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonRelativeLink41, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonRelativeLink44, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink48, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonRelativeLink55, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonRelativeLink60, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonRelativeLink62, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonRelativeLink66, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink70, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonRelativeLink77, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonRelativeLink82, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonRelativeLink84, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonRelativeLink88, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink92, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonRelativeLink98, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink102, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonRelativeLink108, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonRelativeLink110, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonRelativeLink113, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonRelativeLink115, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonRelativeLink119, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonRelativeLink123, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonRelativeLink129, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonRelativeLink134, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink138, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonRelativeLink144, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink148, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonRelativeLink154, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonRelativeLink157, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonRelativeLink161, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonRelativeLink165, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonRelativeLink167, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonRelativeLink169, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonRelativeLink173, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1453, col: 32, offset: 47121}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1453, col: 44, offset: 47133}, + name: "InlineAttributes", }, }, }, }, }, &actionExpr{ - pos: position{line: 1201, col: 5, offset: 37469}, - run: (*parser).callonDocumentRevisionNumber8, + pos: position{line: 1458, col: 5, offset: 47265}, + run: (*parser).callonRelativeLink179, expr: &seqExpr{ - pos: position{line: 1201, col: 5, offset: 37469}, + pos: position{line: 1458, col: 5, offset: 47265}, exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 1201, col: 5, offset: 37469}, - expr: &litMatcher{ - pos: position{line: 1201, col: 5, offset: 37469}, - val: "v", - ignoreCase: true, - want: "\"v\"i", - }, - }, - &charClassMatcher{ - pos: position{line: 1201, col: 11, offset: 37475}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + &litMatcher{ + pos: position{line: 1458, col: 5, offset: 47265}, + val: "link:", ignoreCase: false, - inverted: false, + want: "\"link:\"", }, - &oneOrMoreExpr{ - pos: position{line: 1201, col: 17, offset: 37481}, - expr: &charClassMatcher{ - pos: position{line: 1201, col: 17, offset: 37481}, - val: "[^:,\\r\\n]", - chars: []rune{':', ',', '\r', '\n'}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 1458, col: 13, offset: 47273}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + run: (*parser).callonRelativeLink183, + expr: &seqExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3079, col: 13, offset: 99696}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 3079, col: 20, offset: 99703}, + expr: &choiceExpr{ + pos: position{line: 3087, col: 11, offset: 99965}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3087, col: 11, offset: 99965}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 23, offset: 99977}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 36, offset: 99990}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 47, offset: 100001}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 58, offset: 100012}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3079, col: 30, offset: 99713}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3079, col: 35, offset: 99718}, + expr: &choiceExpr{ + pos: position{line: 3079, col: 36, offset: 99719}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonRelativeLink196, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonRelativeLink203, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonRelativeLink207, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonRelativeLink214, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonRelativeLink216, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonRelativeLink218, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonRelativeLink221, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink225, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonRelativeLink232, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonRelativeLink237, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonRelativeLink239, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonRelativeLink243, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink247, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonRelativeLink254, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonRelativeLink259, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonRelativeLink261, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonRelativeLink265, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink269, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonRelativeLink275, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink279, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonRelativeLink285, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonRelativeLink287, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonRelativeLink290, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonRelativeLink292, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonRelativeLink296, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonRelativeLink300, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonRelativeLink306, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonRelativeLink311, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink315, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonRelativeLink321, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonRelativeLink325, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonRelativeLink331, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonRelativeLink334, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonRelativeLink338, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonRelativeLink342, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonRelativeLink344, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonRelativeLink346, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonRelativeLink350, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1201, col: 28, offset: 37492}, + &labeledExpr{ + pos: position{line: 1458, col: 28, offset: 47288}, + label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1201, col: 28, offset: 37492}, - name: "Space", - }, - }, - &andExpr{ - pos: position{line: 1201, col: 35, offset: 37499}, - expr: &litMatcher{ - pos: position{line: 1201, col: 36, offset: 37500}, - val: ",", - ignoreCase: false, - want: "\",\"", + pos: position{line: 1458, col: 40, offset: 47300}, + name: "InlineAttributes", }, }, }, @@ -6237,121 +26917,1692 @@ var g = &grammar{ }, }, { - name: "DocumentRevisionDate", - pos: position{line: 1205, col: 1, offset: 37540}, - expr: &actionExpr{ - pos: position{line: 1205, col: 25, offset: 37564}, - run: (*parser).callonDocumentRevisionDate1, - expr: &oneOrMoreExpr{ - pos: position{line: 1205, col: 25, offset: 37564}, - expr: &charClassMatcher{ - pos: position{line: 1205, col: 25, offset: 37564}, - val: "[^:\\r\\n]", - chars: []rune{':', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "DocumentRevisionRemark", - pos: position{line: 1209, col: 1, offset: 37610}, - expr: &actionExpr{ - pos: position{line: 1209, col: 27, offset: 37636}, - run: (*parser).callonDocumentRevisionRemark1, - expr: &oneOrMoreExpr{ - pos: position{line: 1209, col: 27, offset: 37636}, - expr: &charClassMatcher{ - pos: position{line: 1209, col: 27, offset: 37636}, - val: "[^\\r\\r\\n]", - chars: []rune{'\r', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "ElementPlaceHolderDelimiter", - pos: position{line: 1216, col: 1, offset: 37883}, - expr: &litMatcher{ - pos: position{line: 1216, col: 32, offset: 37914}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - { - name: "ElementPlaceHolder", - pos: position{line: 1218, col: 1, offset: 37924}, - expr: &actionExpr{ - pos: position{line: 1218, col: 23, offset: 37946}, - run: (*parser).callonElementPlaceHolder1, - expr: &seqExpr{ - pos: position{line: 1218, col: 23, offset: 37946}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1218, col: 23, offset: 37946}, - name: "ElementPlaceHolderDelimiter", - }, - &labeledExpr{ - pos: position{line: 1218, col: 51, offset: 37974}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1218, col: 56, offset: 37979}, - run: (*parser).callonElementPlaceHolder5, - expr: &oneOrMoreExpr{ - pos: position{line: 1218, col: 56, offset: 37979}, - expr: &charClassMatcher{ - pos: position{line: 1218, col: 56, offset: 37979}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + name: "ExternalLink", + pos: position{line: 1462, col: 1, offset: 47416}, + expr: &choiceExpr{ + pos: position{line: 1464, col: 5, offset: 47452}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1464, col: 5, offset: 47452}, + run: (*parser).callonExternalLink2, + expr: &seqExpr{ + pos: position{line: 1464, col: 5, offset: 47452}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1464, col: 5, offset: 47452}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &labeledExpr{ + pos: position{line: 1464, col: 9, offset: 47456}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3083, col: 23, offset: 99845}, + run: (*parser).callonExternalLink6, + expr: &seqExpr{ + pos: position{line: 3083, col: 23, offset: 99845}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3083, col: 23, offset: 99845}, + expr: &litMatcher{ + pos: position{line: 3083, col: 24, offset: 99846}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3083, col: 28, offset: 99850}, + label: "scheme", + expr: &choiceExpr{ + pos: position{line: 3087, col: 11, offset: 99965}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3087, col: 11, offset: 99965}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 23, offset: 99977}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 36, offset: 99990}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 47, offset: 100001}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 58, offset: 100012}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3083, col: 44, offset: 99866}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3083, col: 49, offset: 99871}, + expr: &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonExternalLink19, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonExternalLink26, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonExternalLink30, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExternalLink37, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonExternalLink39, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonExternalLink41, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonExternalLink44, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink48, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonExternalLink55, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonExternalLink60, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonExternalLink62, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonExternalLink66, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink70, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonExternalLink77, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonExternalLink82, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonExternalLink84, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonExternalLink88, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink92, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonExternalLink98, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink102, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonExternalLink108, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonExternalLink110, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonExternalLink113, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonExternalLink115, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonExternalLink119, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExternalLink123, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonExternalLink129, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonExternalLink134, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink138, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonExternalLink144, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink148, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonExternalLink154, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonExternalLink157, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonExternalLink161, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonExternalLink165, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonExternalLink167, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1464, col: 34, offset: 47481}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1464, col: 45, offset: 47492}, + expr: &ruleRefExpr{ + pos: position{line: 1464, col: 46, offset: 47493}, + name: "InlineAttributes", + }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1218, col: 95, offset: 38018}, - name: "ElementPlaceHolderDelimiter", - }, }, - }, - }, - }, - { - name: "LineBreak", - pos: position{line: 1225, col: 1, offset: 38374}, - expr: &actionExpr{ - pos: position{line: 1226, col: 5, offset: 38392}, - run: (*parser).callonLineBreak1, - expr: &seqExpr{ - pos: position{line: 1226, col: 5, offset: 38392}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1226, col: 5, offset: 38392}, - run: (*parser).callonLineBreak3, - }, - &litMatcher{ - pos: position{line: 1229, col: 5, offset: 38494}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1229, col: 9, offset: 38498}, - expr: &ruleRefExpr{ - pos: position{line: 1229, col: 9, offset: 38498}, - name: "Space", - }, - }, - &andExpr{ - pos: position{line: 1229, col: 16, offset: 38505}, - expr: &ruleRefExpr{ - pos: position{line: 1229, col: 18, offset: 38507}, - name: "EOL", + &actionExpr{ + pos: position{line: 1469, col: 5, offset: 47626}, + run: (*parser).callonExternalLink172, + expr: &seqExpr{ + pos: position{line: 1469, col: 5, offset: 47626}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1469, col: 5, offset: 47626}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3083, col: 23, offset: 99845}, + run: (*parser).callonExternalLink175, + expr: &seqExpr{ + pos: position{line: 3083, col: 23, offset: 99845}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3083, col: 23, offset: 99845}, + expr: &litMatcher{ + pos: position{line: 3083, col: 24, offset: 99846}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3083, col: 28, offset: 99850}, + label: "scheme", + expr: &choiceExpr{ + pos: position{line: 3087, col: 11, offset: 99965}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3087, col: 11, offset: 99965}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 23, offset: 99977}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 36, offset: 99990}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 47, offset: 100001}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3087, col: 58, offset: 100012}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3083, col: 44, offset: 99866}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3083, col: 49, offset: 99871}, + expr: &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonExternalLink188, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonExternalLink195, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonExternalLink199, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExternalLink206, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonExternalLink208, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonExternalLink210, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonExternalLink213, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink217, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonExternalLink224, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonExternalLink229, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonExternalLink231, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonExternalLink235, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink239, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonExternalLink246, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonExternalLink251, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonExternalLink253, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonExternalLink257, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink261, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonExternalLink267, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink271, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonExternalLink277, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonExternalLink279, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonExternalLink282, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonExternalLink284, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonExternalLink288, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExternalLink292, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonExternalLink298, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonExternalLink303, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink307, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonExternalLink313, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonExternalLink317, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonExternalLink323, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonExternalLink326, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonExternalLink330, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonExternalLink334, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonExternalLink336, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1469, col: 30, offset: 47651}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1469, col: 41, offset: 47662}, + expr: &ruleRefExpr{ + pos: position{line: 1469, col: 42, offset: 47663}, + name: "InlineAttributes", + }, + }, + }, }, }, }, @@ -6359,697 +28610,10515 @@ var g = &grammar{ }, }, { - name: "FrontMatter", - pos: position{line: 1236, col: 1, offset: 38755}, + name: "ListElements", + pos: position{line: 1477, col: 1, offset: 48017}, expr: &actionExpr{ - pos: position{line: 1237, col: 5, offset: 38775}, - run: (*parser).callonFrontMatter1, + pos: position{line: 1478, col: 5, offset: 48038}, + run: (*parser).callonListElements1, expr: &seqExpr{ - pos: position{line: 1237, col: 5, offset: 38775}, + pos: position{line: 1478, col: 5, offset: 48038}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1237, col: 5, offset: 38775}, - run: (*parser).callonFrontMatter3, - }, &labeledExpr{ - pos: position{line: 1240, col: 5, offset: 38833}, - label: "frontmatter", - expr: &ruleRefExpr{ - pos: position{line: 1240, col: 18, offset: 38846}, - name: "YamlFrontMatter", + pos: position{line: 1478, col: 5, offset: 48038}, + label: "firstElement", + expr: &choiceExpr{ + pos: position{line: 1484, col: 5, offset: 48240}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + run: (*parser).callonListElements5, + expr: &seqExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonListElements8, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements11, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonListElements15, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonListElements18, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonListElements21, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonListElements22, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonListElements27, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonListElements31, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonListElements35, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonListElements40, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElements45, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1632, col: 5, offset: 53086}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonListElements49, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonListElements52, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements56, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + run: (*parser).callonListElements63, + expr: &seqExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonListElements66, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements69, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonListElements73, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonListElements76, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonListElements79, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonListElements81, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElements83, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1682, col: 5, offset: 54985}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1682, col: 16, offset: 54996}, + expr: &actionExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + run: (*parser).callonListElements88, + expr: &seqExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + expr: &litMatcher{ + pos: position{line: 1718, col: 6, offset: 56274}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1718, col: 10, offset: 56278}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1719, col: 7, offset: 56292}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1719, col: 7, offset: 56292}, + run: (*parser).callonListElements94, + expr: &litMatcher{ + pos: position{line: 1719, col: 7, offset: 56292}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1720, col: 7, offset: 56337}, + run: (*parser).callonListElements96, + expr: &litMatcher{ + pos: position{line: 1720, col: 7, offset: 56337}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1721, col: 7, offset: 56380}, + run: (*parser).callonListElements98, + expr: &litMatcher{ + pos: position{line: 1721, col: 7, offset: 56380}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElements100, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1683, col: 5, offset: 55035}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonListElements104, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonListElements107, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements111, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + run: (*parser).callonListElements118, + expr: &seqExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonListElements121, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonListElements125, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElements129, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1789, col: 5, offset: 58289}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonListElements133, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonListElements136, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements140, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + run: (*parser).callonListElements147, + expr: &seqExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + label: "term", + expr: &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonListElements150, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonListElements154, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonListElements157, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonListElements160, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements163, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1731, col: 5, offset: 56608}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonListElements172, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonListElements175, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonListElements178, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1732, col: 5, offset: 56653}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1754, col: 5, offset: 57302}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + run: (*parser).callonListElements181, + expr: &seqExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements184, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements187, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1757, col: 9, offset: 57387}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElements195, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements201, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements204, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1758, col: 9, offset: 57407}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 1758, col: 17, offset: 57415}, + expr: &choiceExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + run: (*parser).callonListElements214, + expr: &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonListElements215, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonListElements221, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements225, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + run: (*parser).callonListElements232, + expr: &seqExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1556, col: 9, offset: 50802}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElements235, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements241, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements244, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1557, col: 9, offset: 50821}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements255, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements257, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1558, col: 9, offset: 50860}, + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonListElements263, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements266, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonListElements270, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonListElements273, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonListElements276, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonListElements277, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonListElements282, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonListElements286, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonListElements290, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonListElements295, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElements300, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1559, col: 9, offset: 50894}, + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonListElements304, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements307, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonListElements311, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonListElements314, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonListElements317, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonListElements319, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElements321, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1560, col: 9, offset: 50930}, + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonListElements325, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonListElements329, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElements333, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1561, col: 9, offset: 50964}, + expr: &seqExpr{ + pos: position{line: 1561, col: 11, offset: 50966}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonListElements338, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonListElements342, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonListElements345, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonListElements348, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements351, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonListElements359, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonListElements362, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonListElements365, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1562, col: 9, offset: 51026}, + expr: &actionExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + run: (*parser).callonListElements367, + expr: &seqExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 735, col: 5, offset: 23652}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 736, col: 5, offset: 23682}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 737, col: 9, offset: 23702}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonListElements373, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonListElements376, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements382, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements385, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonListElements392, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonListElements395, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements401, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements404, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + run: (*parser).callonListElements411, + expr: &seqExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 771, col: 26, offset: 24930}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 771, col: 32, offset: 24936}, + label: "language", + expr: &actionExpr{ + pos: position{line: 775, col: 13, offset: 25066}, + run: (*parser).callonListElements415, + expr: &oneOrMoreExpr{ + pos: position{line: 775, col: 14, offset: 25067}, + expr: &charClassMatcher{ + pos: position{line: 775, col: 14, offset: 25067}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 52, offset: 24956}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements419, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements422, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonListElements429, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonListElements432, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements438, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements441, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonListElements448, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonListElements451, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements457, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements460, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonListElements467, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonListElements470, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements476, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements479, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonListElements486, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonListElements489, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements495, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements498, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonListElements505, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonListElements508, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements514, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements517, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonListElements524, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonListElements527, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElements533, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements536, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1563, col: 9, offset: 51050}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + run: (*parser).callonListElements544, + expr: &oneOrMoreExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + expr: &charClassMatcher{ + pos: position{line: 1563, col: 18, offset: 51059}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements548, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1766, col: 9, offset: 57650}, + run: (*parser).callonListElements555, + expr: &seqExpr{ + pos: position{line: 1766, col: 9, offset: 57650}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElements557, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1767, col: 9, offset: 57702}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1767, col: 18, offset: 57711}, + run: (*parser).callonListElements561, + expr: &oneOrMoreExpr{ + pos: position{line: 1767, col: 18, offset: 57711}, + expr: &charClassMatcher{ + pos: position{line: 1767, col: 18, offset: 57711}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElements565, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - }, - }, - }, - }, - { - name: "YamlFrontMatter", - pos: position{line: 1245, col: 1, offset: 38909}, - expr: &actionExpr{ - pos: position{line: 1245, col: 20, offset: 38928}, - run: (*parser).callonYamlFrontMatter1, - expr: &seqExpr{ - pos: position{line: 1245, col: 20, offset: 38928}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1245, col: 20, offset: 38928}, - name: "YamlFrontMatterDelimiter", - }, &labeledExpr{ - pos: position{line: 1245, col: 45, offset: 38953}, - label: "content", - expr: &zeroOrOneExpr{ - pos: position{line: 1245, col: 53, offset: 38961}, - expr: &ruleRefExpr{ - pos: position{line: 1245, col: 54, offset: 38962}, - name: "YamlFrontMatterContent", - }, + pos: position{line: 1479, col: 5, offset: 48069}, + label: "extraElements", + expr: &ruleRefExpr{ + pos: position{line: 1479, col: 20, offset: 48084}, + name: "ExtraListElements", }, }, - &ruleRefExpr{ - pos: position{line: 1245, col: 79, offset: 38987}, - name: "YamlFrontMatterDelimiter", - }, }, }, }, }, { - name: "YamlFrontMatterDelimiter", - pos: position{line: 1249, col: 1, offset: 39071}, - expr: &seqExpr{ - pos: position{line: 1249, col: 30, offset: 39100}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1249, col: 30, offset: 39100}, - val: "---", - ignoreCase: false, - want: "\"---\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1249, col: 36, offset: 39106}, + name: "ExtraListElements", + pos: position{line: 1489, col: 1, offset: 48339}, + expr: &actionExpr{ + pos: position{line: 1489, col: 22, offset: 48360}, + run: (*parser).callonExtraListElements1, + expr: &labeledExpr{ + pos: position{line: 1489, col: 22, offset: 48360}, + label: "elements", + expr: &zeroOrMoreExpr{ + pos: position{line: 1489, col: 31, offset: 48369}, expr: &ruleRefExpr{ - pos: position{line: 1249, col: 36, offset: 39106}, - name: "Space", + pos: position{line: 1489, col: 32, offset: 48370}, + name: "ExtraListElement", }, }, - &ruleRefExpr{ - pos: position{line: 1249, col: 43, offset: 39113}, - name: "EOL", - }, }, }, }, { - name: "YamlFrontMatterContent", - pos: position{line: 1251, col: 1, offset: 39118}, + name: "ExtraListElement", + pos: position{line: 1493, col: 1, offset: 48450}, expr: &actionExpr{ - pos: position{line: 1251, col: 27, offset: 39144}, - run: (*parser).callonYamlFrontMatterContent1, - expr: &zeroOrMoreExpr{ - pos: position{line: 1251, col: 27, offset: 39144}, - expr: &oneOrMoreExpr{ - pos: position{line: 1251, col: 28, offset: 39145}, - expr: &seqExpr{ - pos: position{line: 1251, col: 29, offset: 39146}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1251, col: 29, offset: 39146}, - expr: &ruleRefExpr{ - pos: position{line: 1251, col: 30, offset: 39147}, - name: "YamlFrontMatterDelimiter", - }, - }, - &anyMatcher{ - line: 1251, col: 55, offset: 39172, + pos: position{line: 1494, col: 5, offset: 48589}, + run: (*parser).callonExtraListElement1, + expr: &seqExpr{ + pos: position{line: 1494, col: 5, offset: 48589}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1494, col: 5, offset: 48589}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, }, }, }, - }, - }, - }, - }, - { - name: "FrontMatterFragment", - pos: position{line: 1255, col: 1, offset: 39218}, - expr: &choiceExpr{ - pos: position{line: 1255, col: 24, offset: 39241}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1255, col: 24, offset: 39241}, - name: "FrontMatterDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 1255, col: 47, offset: 39264}, - name: "BlankLine", - }, - &ruleRefExpr{ - pos: position{line: 1255, col: 59, offset: 39276}, - name: "FrontMatterLine", - }, - }, - }, - }, - { - name: "FrontMatterDelimiter", - pos: position{line: 1257, col: 1, offset: 39293}, - expr: &seqExpr{ - pos: position{line: 1257, col: 26, offset: 39318}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1257, col: 26, offset: 39318}, - val: "---", - ignoreCase: false, - want: "\"---\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1257, col: 32, offset: 39324}, - expr: &ruleRefExpr{ - pos: position{line: 1257, col: 32, offset: 39324}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 1257, col: 39, offset: 39331}, - name: "EOF", - }, - }, - }, - }, - { - name: "FrontMatterLine", - pos: position{line: 1259, col: 1, offset: 39336}, - expr: &actionExpr{ - pos: position{line: 1259, col: 20, offset: 39355}, - run: (*parser).callonFrontMatterLine1, - expr: &zeroOrMoreExpr{ - pos: position{line: 1259, col: 20, offset: 39355}, - expr: &anyMatcher{ - line: 1259, col: 21, offset: 39356, - }, - }, - }, - }, - { - name: "InlineElement", - pos: position{line: 1276, col: 1, offset: 39806}, - expr: &actionExpr{ - pos: position{line: 1277, col: 5, offset: 39829}, - run: (*parser).callonInlineElement1, - expr: &labeledExpr{ - pos: position{line: 1277, col: 5, offset: 39829}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1278, col: 9, offset: 39847}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1278, col: 9, offset: 39847}, - name: "InlineWord", - }, - &ruleRefExpr{ - pos: position{line: 1279, col: 11, offset: 39908}, - name: "Spaces", - }, - &ruleRefExpr{ - pos: position{line: 1280, col: 11, offset: 39926}, - name: "LineBreak", - }, - &ruleRefExpr{ - pos: position{line: 1281, col: 11, offset: 39946}, - name: "Symbol", - }, - &ruleRefExpr{ - pos: position{line: 1282, col: 11, offset: 39963}, - name: "Quote", - }, - &ruleRefExpr{ - pos: position{line: 1283, col: 11, offset: 39979}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 1284, col: 11, offset: 40009}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 1285, col: 11, offset: 40031}, - name: "SpecialCharacter", - }, - &ruleRefExpr{ - pos: position{line: 1287, col: 11, offset: 40154}, - name: "AnyChar", - }, - }, - }, - }, - }, - }, - { - name: "InlineAnchor", - pos: position{line: 1295, col: 1, offset: 40415}, - expr: &choiceExpr{ - pos: position{line: 1297, col: 5, offset: 40451}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1297, col: 5, offset: 40451}, - run: (*parser).callonInlineAnchor2, - expr: &seqExpr{ - pos: position{line: 1297, col: 5, offset: 40451}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1297, col: 5, offset: 40451}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &litMatcher{ - pos: position{line: 1297, col: 9, offset: 40455}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 1297, col: 14, offset: 40460}, - label: "id", - expr: &ruleRefExpr{ - pos: position{line: 1297, col: 18, offset: 40464}, - name: "Id", + &labeledExpr{ + pos: position{line: 1495, col: 5, offset: 48599}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1496, col: 9, offset: 48617}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1496, col: 13, offset: 48621}, + run: (*parser).callonExtraListElement8, + expr: &seqExpr{ + pos: position{line: 1496, col: 13, offset: 48621}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1496, col: 13, offset: 48621}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement11, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement17, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement20, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1497, col: 13, offset: 48645}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + run: (*parser).callonExtraListElement28, + expr: &seqExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonExtraListElement31, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement34, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonExtraListElement38, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonExtraListElement41, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonExtraListElement44, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonExtraListElement45, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonExtraListElement50, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonExtraListElement54, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonExtraListElement58, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonExtraListElement63, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement68, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1632, col: 5, offset: 53086}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonExtraListElement72, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonExtraListElement75, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement79, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - }, - &litMatcher{ - pos: position{line: 1297, col: 22, offset: 40468}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1303, col: 5, offset: 40654}, - run: (*parser).callonInlineAnchor9, - expr: &seqExpr{ - pos: position{line: 1303, col: 5, offset: 40654}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1303, col: 5, offset: 40654}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 1303, col: 10, offset: 40659}, - label: "id", - expr: &ruleRefExpr{ - pos: position{line: 1303, col: 14, offset: 40663}, - name: "Id", + &actionExpr{ + pos: position{line: 1500, col: 13, offset: 48737}, + run: (*parser).callonExtraListElement86, + expr: &seqExpr{ + pos: position{line: 1500, col: 13, offset: 48737}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1500, col: 13, offset: 48737}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1500, col: 24, offset: 48748}, + expr: &ruleRefExpr{ + pos: position{line: 1500, col: 25, offset: 48749}, + name: "BlockAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1501, col: 13, offset: 48780}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + run: (*parser).callonExtraListElement92, + expr: &seqExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonExtraListElement95, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement98, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonExtraListElement102, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonExtraListElement105, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonExtraListElement108, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonExtraListElement109, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonExtraListElement114, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonExtraListElement118, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonExtraListElement122, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonExtraListElement127, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement132, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1632, col: 5, offset: 53086}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonExtraListElement136, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonExtraListElement139, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement143, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - }, - &litMatcher{ - pos: position{line: 1303, col: 18, offset: 40667}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - }, - }, - }, - { - name: "InlineButton", - pos: position{line: 1310, col: 1, offset: 41002}, - expr: &actionExpr{ - pos: position{line: 1311, col: 5, offset: 41023}, - run: (*parser).callonInlineButton1, - expr: &seqExpr{ - pos: position{line: 1311, col: 5, offset: 41023}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1311, col: 5, offset: 41023}, - run: (*parser).callonInlineButton3, - }, - &litMatcher{ - pos: position{line: 1314, col: 5, offset: 41082}, - val: "btn:", - ignoreCase: false, - want: "\"btn:\"", - }, - &labeledExpr{ - pos: position{line: 1314, col: 12, offset: 41089}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1314, col: 24, offset: 41101}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "InlineMenu", - pos: position{line: 1321, col: 1, offset: 41389}, - expr: &actionExpr{ - pos: position{line: 1322, col: 5, offset: 41408}, - run: (*parser).callonInlineMenu1, - expr: &seqExpr{ - pos: position{line: 1322, col: 5, offset: 41408}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1322, col: 5, offset: 41408}, - run: (*parser).callonInlineMenu3, - }, - &litMatcher{ - pos: position{line: 1325, col: 5, offset: 41467}, - val: "menu:", - ignoreCase: false, - want: "\"menu:\"", - }, - &labeledExpr{ - pos: position{line: 1325, col: 13, offset: 41475}, - label: "id", - expr: &ruleRefExpr{ - pos: position{line: 1325, col: 17, offset: 41479}, - name: "Id", - }, - }, - &labeledExpr{ - pos: position{line: 1325, col: 21, offset: 41483}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1325, col: 33, offset: 41495}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "IndexTerm", - pos: position{line: 1332, col: 1, offset: 41794}, - expr: &actionExpr{ - pos: position{line: 1332, col: 14, offset: 41807}, - run: (*parser).callonIndexTerm1, - expr: &seqExpr{ - pos: position{line: 1332, col: 14, offset: 41807}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1332, col: 14, offset: 41807}, - val: "((", - ignoreCase: false, - want: "\"((\"", - }, - &labeledExpr{ - pos: position{line: 1332, col: 19, offset: 41812}, - label: "term", - expr: &ruleRefExpr{ - pos: position{line: 1332, col: 25, offset: 41818}, - name: "IndexTermContent", - }, - }, - &litMatcher{ - pos: position{line: 1332, col: 43, offset: 41836}, - val: "))", - ignoreCase: false, - want: "\"))\"", - }, - }, - }, - }, - }, - { - name: "IndexTermContent", - pos: position{line: 1336, col: 1, offset: 41905}, - expr: &actionExpr{ - pos: position{line: 1336, col: 21, offset: 41925}, - run: (*parser).callonIndexTermContent1, - expr: &labeledExpr{ - pos: position{line: 1336, col: 21, offset: 41925}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 1336, col: 30, offset: 41934}, - expr: &choiceExpr{ - pos: position{line: 1336, col: 31, offset: 41935}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1336, col: 31, offset: 41935}, - name: "Word", - }, - &ruleRefExpr{ - pos: position{line: 1336, col: 38, offset: 41942}, - name: "QuotedText", - }, - &ruleRefExpr{ - pos: position{line: 1336, col: 51, offset: 41955}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 1336, col: 59, offset: 41963}, - name: "SpecialCharacter", - }, - &ruleRefExpr{ - pos: position{line: 1336, col: 78, offset: 41982}, - name: "ElementPlaceHolder", - }, - &actionExpr{ - pos: position{line: 1336, col: 99, offset: 42003}, - run: (*parser).callonIndexTermContent10, - expr: &seqExpr{ - pos: position{line: 1336, col: 100, offset: 42004}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1336, col: 100, offset: 42004}, - expr: &litMatcher{ - pos: position{line: 1336, col: 101, offset: 42005}, - val: "))", - ignoreCase: false, - want: "\"))\"", + &actionExpr{ + pos: position{line: 1504, col: 13, offset: 48908}, + run: (*parser).callonExtraListElement150, + expr: &seqExpr{ + pos: position{line: 1504, col: 13, offset: 48908}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1504, col: 13, offset: 48908}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement153, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement159, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement162, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1505, col: 13, offset: 48932}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + run: (*parser).callonExtraListElement170, + expr: &seqExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonExtraListElement173, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement176, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonExtraListElement180, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonExtraListElement183, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonExtraListElement186, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonExtraListElement188, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement190, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1682, col: 5, offset: 54985}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1682, col: 16, offset: 54996}, + expr: &actionExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + run: (*parser).callonExtraListElement195, + expr: &seqExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + expr: &litMatcher{ + pos: position{line: 1718, col: 6, offset: 56274}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1718, col: 10, offset: 56278}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1719, col: 7, offset: 56292}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1719, col: 7, offset: 56292}, + run: (*parser).callonExtraListElement201, + expr: &litMatcher{ + pos: position{line: 1719, col: 7, offset: 56292}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1720, col: 7, offset: 56337}, + run: (*parser).callonExtraListElement203, + expr: &litMatcher{ + pos: position{line: 1720, col: 7, offset: 56337}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1721, col: 7, offset: 56380}, + run: (*parser).callonExtraListElement205, + expr: &litMatcher{ + pos: position{line: 1721, col: 7, offset: 56380}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement207, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1683, col: 5, offset: 55035}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonExtraListElement211, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonExtraListElement214, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement218, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - }, - &anyMatcher{ - line: 1336, col: 106, offset: 42010, }, }, }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ConcealedIndexTerm", - pos: position{line: 1342, col: 1, offset: 42116}, - expr: &actionExpr{ - pos: position{line: 1342, col: 23, offset: 42138}, - run: (*parser).callonConcealedIndexTerm1, - expr: &seqExpr{ - pos: position{line: 1342, col: 23, offset: 42138}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1342, col: 23, offset: 42138}, - val: "(((", - ignoreCase: false, - want: "\"(((\"", - }, - &labeledExpr{ - pos: position{line: 1342, col: 29, offset: 42144}, - label: "term1", - expr: &ruleRefExpr{ - pos: position{line: 1342, col: 36, offset: 42151}, - name: "ConcealedIndexTermContent", - }, - }, - &labeledExpr{ - pos: position{line: 1343, col: 5, offset: 42183}, - label: "term2", - expr: &zeroOrOneExpr{ - pos: position{line: 1343, col: 11, offset: 42189}, - expr: &actionExpr{ - pos: position{line: 1343, col: 12, offset: 42190}, - run: (*parser).callonConcealedIndexTerm8, - expr: &seqExpr{ - pos: position{line: 1343, col: 12, offset: 42190}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1343, col: 12, offset: 42190}, - expr: &ruleRefExpr{ - pos: position{line: 1343, col: 12, offset: 42190}, - name: "Space", + &actionExpr{ + pos: position{line: 1508, col: 13, offset: 49026}, + run: (*parser).callonExtraListElement225, + expr: &seqExpr{ + pos: position{line: 1508, col: 13, offset: 49026}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1508, col: 13, offset: 49026}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1508, col: 24, offset: 49037}, + expr: &ruleRefExpr{ + pos: position{line: 1508, col: 25, offset: 49038}, + name: "BlockAttributes", + }, + }, }, - }, - &litMatcher{ - pos: position{line: 1343, col: 19, offset: 42197}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1343, col: 23, offset: 42201}, - expr: &ruleRefExpr{ - pos: position{line: 1343, col: 23, offset: 42201}, - name: "Space", + &labeledExpr{ + pos: position{line: 1509, col: 13, offset: 49069}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + run: (*parser).callonExtraListElement231, + expr: &seqExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonExtraListElement234, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement237, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonExtraListElement241, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonExtraListElement244, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonExtraListElement247, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonExtraListElement249, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement251, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1682, col: 5, offset: 54985}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1682, col: 16, offset: 54996}, + expr: &actionExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + run: (*parser).callonExtraListElement256, + expr: &seqExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + expr: &litMatcher{ + pos: position{line: 1718, col: 6, offset: 56274}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1718, col: 10, offset: 56278}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1719, col: 7, offset: 56292}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1719, col: 7, offset: 56292}, + run: (*parser).callonExtraListElement262, + expr: &litMatcher{ + pos: position{line: 1719, col: 7, offset: 56292}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1720, col: 7, offset: 56337}, + run: (*parser).callonExtraListElement264, + expr: &litMatcher{ + pos: position{line: 1720, col: 7, offset: 56337}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1721, col: 7, offset: 56380}, + run: (*parser).callonExtraListElement266, + expr: &litMatcher{ + pos: position{line: 1721, col: 7, offset: 56380}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement268, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1683, col: 5, offset: 55035}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonExtraListElement272, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonExtraListElement275, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement279, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 1343, col: 30, offset: 42208}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 1343, col: 39, offset: 42217}, - name: "ConcealedIndexTermContent", + }, + }, + &actionExpr{ + pos: position{line: 1512, col: 13, offset: 49199}, + run: (*parser).callonExtraListElement286, + expr: &seqExpr{ + pos: position{line: 1512, col: 13, offset: 49199}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1512, col: 13, offset: 49199}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement289, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement295, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement298, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1513, col: 13, offset: 49223}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + run: (*parser).callonExtraListElement306, + expr: &seqExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonExtraListElement309, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonExtraListElement313, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement317, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1789, col: 5, offset: 58289}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonExtraListElement321, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonExtraListElement324, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement328, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1344, col: 5, offset: 42275}, - label: "term3", - expr: &zeroOrOneExpr{ - pos: position{line: 1344, col: 11, offset: 42281}, - expr: &actionExpr{ - pos: position{line: 1344, col: 12, offset: 42282}, - run: (*parser).callonConcealedIndexTerm19, - expr: &seqExpr{ - pos: position{line: 1344, col: 12, offset: 42282}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1344, col: 12, offset: 42282}, - expr: &ruleRefExpr{ - pos: position{line: 1344, col: 12, offset: 42282}, - name: "Space", + &actionExpr{ + pos: position{line: 1516, col: 13, offset: 49315}, + run: (*parser).callonExtraListElement335, + expr: &seqExpr{ + pos: position{line: 1516, col: 13, offset: 49315}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1516, col: 13, offset: 49315}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1516, col: 24, offset: 49326}, + expr: &ruleRefExpr{ + pos: position{line: 1516, col: 25, offset: 49327}, + name: "BlockAttributes", + }, + }, }, - }, - &litMatcher{ - pos: position{line: 1344, col: 19, offset: 42289}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1344, col: 23, offset: 42293}, - expr: &ruleRefExpr{ - pos: position{line: 1344, col: 23, offset: 42293}, - name: "Space", + &labeledExpr{ + pos: position{line: 1517, col: 13, offset: 49358}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + run: (*parser).callonExtraListElement341, + expr: &seqExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonExtraListElement344, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonExtraListElement348, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement352, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1789, col: 5, offset: 58289}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonExtraListElement356, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonExtraListElement359, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement363, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 1344, col: 30, offset: 42300}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 1344, col: 39, offset: 42309}, - name: "ConcealedIndexTermContent", + }, + }, + &ruleRefExpr{ + pos: position{line: 1520, col: 11, offset: 49484}, + name: "ListElementContinuation", + }, + &actionExpr{ + pos: position{line: 1521, col: 13, offset: 49520}, + run: (*parser).callonExtraListElement371, + expr: &seqExpr{ + pos: position{line: 1521, col: 13, offset: 49520}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1521, col: 13, offset: 49520}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement374, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement380, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement383, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1522, col: 13, offset: 49544}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + run: (*parser).callonExtraListElement391, + expr: &seqExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + label: "term", + expr: &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonExtraListElement394, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement398, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement401, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement404, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement407, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1731, col: 5, offset: 56608}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement416, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement419, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement422, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1732, col: 5, offset: 56653}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1754, col: 5, offset: 57302}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + run: (*parser).callonExtraListElement425, + expr: &seqExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement428, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement431, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1757, col: 9, offset: 57387}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement439, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement445, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement448, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1758, col: 9, offset: 57407}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 1758, col: 17, offset: 57415}, + expr: &choiceExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + run: (*parser).callonExtraListElement458, + expr: &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonExtraListElement459, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonExtraListElement465, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement469, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + run: (*parser).callonExtraListElement476, + expr: &seqExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1556, col: 9, offset: 50802}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement479, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement485, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement488, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1557, col: 9, offset: 50821}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement499, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement501, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1558, col: 9, offset: 50860}, + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonExtraListElement507, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement510, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonExtraListElement514, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonExtraListElement517, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonExtraListElement520, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonExtraListElement521, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonExtraListElement526, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonExtraListElement530, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonExtraListElement534, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonExtraListElement539, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement544, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1559, col: 9, offset: 50894}, + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonExtraListElement548, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement551, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonExtraListElement555, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonExtraListElement558, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonExtraListElement561, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonExtraListElement563, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement565, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1560, col: 9, offset: 50930}, + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonExtraListElement569, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonExtraListElement573, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement577, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1561, col: 9, offset: 50964}, + expr: &seqExpr{ + pos: position{line: 1561, col: 11, offset: 50966}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonExtraListElement582, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement586, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement589, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement592, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement595, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement603, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement606, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement609, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1562, col: 9, offset: 51026}, + expr: &actionExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + run: (*parser).callonExtraListElement611, + expr: &seqExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 735, col: 5, offset: 23652}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 736, col: 5, offset: 23682}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 737, col: 9, offset: 23702}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonExtraListElement617, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonExtraListElement620, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement626, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement629, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonExtraListElement636, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonExtraListElement639, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement645, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement648, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + run: (*parser).callonExtraListElement655, + expr: &seqExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 771, col: 26, offset: 24930}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 771, col: 32, offset: 24936}, + label: "language", + expr: &actionExpr{ + pos: position{line: 775, col: 13, offset: 25066}, + run: (*parser).callonExtraListElement659, + expr: &oneOrMoreExpr{ + pos: position{line: 775, col: 14, offset: 25067}, + expr: &charClassMatcher{ + pos: position{line: 775, col: 14, offset: 25067}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 52, offset: 24956}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement663, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement666, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonExtraListElement673, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonExtraListElement676, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement682, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement685, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonExtraListElement692, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonExtraListElement695, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement701, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement704, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonExtraListElement711, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonExtraListElement714, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement720, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement723, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonExtraListElement730, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonExtraListElement733, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement739, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement742, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonExtraListElement749, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonExtraListElement752, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement758, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement761, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonExtraListElement768, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonExtraListElement771, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement777, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement780, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1563, col: 9, offset: 51050}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + run: (*parser).callonExtraListElement788, + expr: &oneOrMoreExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + expr: &charClassMatcher{ + pos: position{line: 1563, col: 18, offset: 51059}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement792, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1766, col: 9, offset: 57650}, + run: (*parser).callonExtraListElement799, + expr: &seqExpr{ + pos: position{line: 1766, col: 9, offset: 57650}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement801, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1767, col: 9, offset: 57702}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1767, col: 18, offset: 57711}, + run: (*parser).callonExtraListElement805, + expr: &oneOrMoreExpr{ + pos: position{line: 1767, col: 18, offset: 57711}, + expr: &charClassMatcher{ + pos: position{line: 1767, col: 18, offset: 57711}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement809, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1345, col: 5, offset: 42367}, - val: ")))", - ignoreCase: false, - want: "\")))\"", - }, - }, - }, - }, - }, - { - name: "ConcealedIndexTermContent", - pos: position{line: 1349, col: 1, offset: 42446}, - expr: &actionExpr{ - pos: position{line: 1349, col: 30, offset: 42475}, - run: (*parser).callonConcealedIndexTermContent1, - expr: &oneOrMoreExpr{ - pos: position{line: 1349, col: 30, offset: 42475}, - expr: &choiceExpr{ - pos: position{line: 1349, col: 31, offset: 42476}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1349, col: 31, offset: 42476}, - name: "Alphanum", - }, - &ruleRefExpr{ - pos: position{line: 1349, col: 42, offset: 42487}, - name: "Space", - }, - }, - }, - }, - }, - }, - { - name: "ImageBlock", - pos: position{line: 1356, col: 1, offset: 42719}, - expr: &actionExpr{ - pos: position{line: 1357, col: 5, offset: 42738}, - run: (*parser).callonImageBlock1, - expr: &seqExpr{ - pos: position{line: 1357, col: 5, offset: 42738}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1357, col: 5, offset: 42738}, - val: "image::", - ignoreCase: false, - want: "\"image::\"", - }, - &labeledExpr{ - pos: position{line: 1357, col: 15, offset: 42748}, - label: "path", - expr: &ruleRefExpr{ - pos: position{line: 1357, col: 21, offset: 42754}, - name: "Location", - }, - }, - &labeledExpr{ - pos: position{line: 1357, col: 31, offset: 42764}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1357, col: 43, offset: 42776}, - name: "InlineAttributes", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1357, col: 61, offset: 42794}, - expr: &ruleRefExpr{ - pos: position{line: 1357, col: 61, offset: 42794}, - name: "Space", + &actionExpr{ + pos: position{line: 1525, col: 13, offset: 49636}, + run: (*parser).callonExtraListElement816, + expr: &seqExpr{ + pos: position{line: 1525, col: 13, offset: 49636}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1525, col: 13, offset: 49636}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1525, col: 24, offset: 49647}, + expr: &ruleRefExpr{ + pos: position{line: 1525, col: 25, offset: 49648}, + name: "BlockAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1526, col: 13, offset: 49679}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + run: (*parser).callonExtraListElement822, + expr: &seqExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + label: "term", + expr: &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonExtraListElement825, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement829, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement832, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement835, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement838, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1731, col: 5, offset: 56608}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement847, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement850, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement853, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1732, col: 5, offset: 56653}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1754, col: 5, offset: 57302}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + run: (*parser).callonExtraListElement856, + expr: &seqExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement859, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement862, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1757, col: 9, offset: 57387}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement870, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement876, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement879, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1758, col: 9, offset: 57407}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 1758, col: 17, offset: 57415}, + expr: &choiceExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + run: (*parser).callonExtraListElement889, + expr: &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonExtraListElement890, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonExtraListElement896, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement900, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + run: (*parser).callonExtraListElement907, + expr: &seqExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1556, col: 9, offset: 50802}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement910, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement916, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement919, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1557, col: 9, offset: 50821}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement930, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement932, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1558, col: 9, offset: 50860}, + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonExtraListElement938, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement941, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonExtraListElement945, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonExtraListElement948, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonExtraListElement951, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonExtraListElement952, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonExtraListElement957, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonExtraListElement961, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonExtraListElement965, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonExtraListElement970, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement975, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1559, col: 9, offset: 50894}, + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonExtraListElement979, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement982, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonExtraListElement986, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonExtraListElement989, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonExtraListElement992, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonExtraListElement994, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement996, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1560, col: 9, offset: 50930}, + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonExtraListElement1000, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonExtraListElement1004, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement1008, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1561, col: 9, offset: 50964}, + expr: &seqExpr{ + pos: position{line: 1561, col: 11, offset: 50966}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonExtraListElement1013, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement1017, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement1020, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement1023, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1026, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement1034, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement1037, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement1040, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1562, col: 9, offset: 51026}, + expr: &actionExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + run: (*parser).callonExtraListElement1042, + expr: &seqExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 735, col: 5, offset: 23652}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 736, col: 5, offset: 23682}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 737, col: 9, offset: 23702}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonExtraListElement1048, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonExtraListElement1051, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1057, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1060, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonExtraListElement1067, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonExtraListElement1070, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1076, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1079, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + run: (*parser).callonExtraListElement1086, + expr: &seqExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 771, col: 26, offset: 24930}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 771, col: 32, offset: 24936}, + label: "language", + expr: &actionExpr{ + pos: position{line: 775, col: 13, offset: 25066}, + run: (*parser).callonExtraListElement1090, + expr: &oneOrMoreExpr{ + pos: position{line: 775, col: 14, offset: 25067}, + expr: &charClassMatcher{ + pos: position{line: 775, col: 14, offset: 25067}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 52, offset: 24956}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1094, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1097, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonExtraListElement1104, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonExtraListElement1107, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1113, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1116, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonExtraListElement1123, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonExtraListElement1126, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1132, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1135, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonExtraListElement1142, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonExtraListElement1145, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1151, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1154, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonExtraListElement1161, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonExtraListElement1164, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1170, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1173, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonExtraListElement1180, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonExtraListElement1183, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1189, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1192, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonExtraListElement1199, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonExtraListElement1202, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1208, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1211, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1563, col: 9, offset: 51050}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + run: (*parser).callonExtraListElement1219, + expr: &oneOrMoreExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + expr: &charClassMatcher{ + pos: position{line: 1563, col: 18, offset: 51059}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1223, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1766, col: 9, offset: 57650}, + run: (*parser).callonExtraListElement1230, + expr: &seqExpr{ + pos: position{line: 1766, col: 9, offset: 57650}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement1232, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1767, col: 9, offset: 57702}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1767, col: 18, offset: 57711}, + run: (*parser).callonExtraListElement1236, + expr: &oneOrMoreExpr{ + pos: position{line: 1767, col: 18, offset: 57711}, + expr: &charClassMatcher{ + pos: position{line: 1767, col: 18, offset: 57711}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1240, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonExtraListElement1247, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonExtraListElement1253, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1257, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1530, col: 13, offset: 49835}, + run: (*parser).callonExtraListElement1264, + expr: &seqExpr{ + pos: position{line: 1530, col: 13, offset: 49835}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1530, col: 13, offset: 49835}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement1267, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1273, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1276, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1531, col: 13, offset: 49858}, + label: "attributes", + expr: &zeroOrMoreExpr{ + pos: position{line: 1531, col: 24, offset: 49869}, + expr: &ruleRefExpr{ + pos: position{line: 1531, col: 25, offset: 49870}, + name: "BlockAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1532, col: 13, offset: 49901}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1865, col: 5, offset: 60846}, + run: (*parser).callonExtraListElement1287, + expr: &seqExpr{ + pos: position{line: 1865, col: 5, offset: 60846}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1865, col: 5, offset: 60846}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + run: (*parser).callonExtraListElement1290, + expr: &seqExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1872, col: 14, offset: 61140}, + run: (*parser).callonExtraListElement1293, + expr: &seqExpr{ + pos: position{line: 1872, col: 14, offset: 61140}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement1295, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 1872, col: 21, offset: 61147}, + expr: &charClassMatcher{ + pos: position{line: 1872, col: 21, offset: 61147}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1875, col: 5, offset: 61204}, + run: (*parser).callonExtraListElement1300, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1302, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1866, col: 5, offset: 60887}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 1866, col: 16, offset: 60898}, + expr: &choiceExpr{ + pos: position{line: 1866, col: 17, offset: 60899}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonExtraListElement1312, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonExtraListElement1318, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1322, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonExtraListElement1329, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonExtraListElement1332, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonExtraListElement1335, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1337, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1544, col: 13, offset: 50448}, + run: (*parser).callonExtraListElement1344, + expr: &labeledExpr{ + pos: position{line: 1544, col: 13, offset: 50448}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + run: (*parser).callonExtraListElement1347, + expr: &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonExtraListElement1348, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonExtraListElement1354, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1358, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + run: (*parser).callonExtraListElement1365, + expr: &seqExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1556, col: 9, offset: 50802}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonExtraListElement1368, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1374, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1377, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1557, col: 9, offset: 50821}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1388, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1390, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1558, col: 9, offset: 50860}, + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonExtraListElement1396, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1399, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonExtraListElement1403, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonExtraListElement1406, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonExtraListElement1409, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonExtraListElement1410, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonExtraListElement1415, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonExtraListElement1419, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonExtraListElement1423, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonExtraListElement1428, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement1433, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1559, col: 9, offset: 50894}, + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonExtraListElement1437, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1440, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonExtraListElement1444, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonExtraListElement1447, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonExtraListElement1450, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonExtraListElement1452, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement1454, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1560, col: 9, offset: 50930}, + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonExtraListElement1458, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonExtraListElement1462, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonExtraListElement1466, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1561, col: 9, offset: 50964}, + expr: &seqExpr{ + pos: position{line: 1561, col: 11, offset: 50966}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonExtraListElement1471, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement1475, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement1478, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement1481, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1484, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonExtraListElement1492, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonExtraListElement1495, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonExtraListElement1498, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1562, col: 9, offset: 51026}, + expr: &actionExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + run: (*parser).callonExtraListElement1500, + expr: &seqExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 735, col: 5, offset: 23652}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 736, col: 5, offset: 23682}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 737, col: 9, offset: 23702}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonExtraListElement1506, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonExtraListElement1509, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1515, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1518, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonExtraListElement1525, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonExtraListElement1528, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1534, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1537, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + run: (*parser).callonExtraListElement1544, + expr: &seqExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 771, col: 26, offset: 24930}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 771, col: 32, offset: 24936}, + label: "language", + expr: &actionExpr{ + pos: position{line: 775, col: 13, offset: 25066}, + run: (*parser).callonExtraListElement1548, + expr: &oneOrMoreExpr{ + pos: position{line: 775, col: 14, offset: 25067}, + expr: &charClassMatcher{ + pos: position{line: 775, col: 14, offset: 25067}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 52, offset: 24956}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1552, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1555, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonExtraListElement1562, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonExtraListElement1565, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1571, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1574, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonExtraListElement1581, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonExtraListElement1584, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1590, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1593, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonExtraListElement1600, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonExtraListElement1603, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1609, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1612, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonExtraListElement1619, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonExtraListElement1622, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1628, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1631, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonExtraListElement1638, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonExtraListElement1641, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1647, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1650, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonExtraListElement1657, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonExtraListElement1660, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonExtraListElement1666, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1669, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1563, col: 9, offset: 51050}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + run: (*parser).callonExtraListElement1677, + expr: &oneOrMoreExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + expr: &charClassMatcher{ + pos: position{line: 1563, col: 18, offset: 51059}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonExtraListElement1681, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &ruleRefExpr{ - pos: position{line: 1357, col: 68, offset: 42801}, - name: "EOL", - }, }, }, }, }, { - name: "InlineImage", - pos: position{line: 1362, col: 1, offset: 43011}, + name: "ListElementContinuation", + pos: position{line: 1582, col: 1, offset: 51509}, expr: &actionExpr{ - pos: position{line: 1362, col: 16, offset: 43026}, - run: (*parser).callonInlineImage1, + pos: position{line: 1583, col: 5, offset: 51541}, + run: (*parser).callonListElementContinuation1, expr: &seqExpr{ - pos: position{line: 1362, col: 16, offset: 43026}, + pos: position{line: 1583, col: 5, offset: 51541}, exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1583, col: 5, offset: 51541}, + label: "offset", + expr: &zeroOrMoreExpr{ + pos: position{line: 1583, col: 12, offset: 51548}, + expr: &seqExpr{ + pos: position{line: 1583, col: 13, offset: 51549}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1583, col: 13, offset: 51549}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuation7, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuation9, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + }, &litMatcher{ - pos: position{line: 1362, col: 16, offset: 43026}, - val: "image:", + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", ignoreCase: false, - want: "\"image:\"", + want: "\"+\"", }, - ¬Expr{ - pos: position{line: 1362, col: 25, offset: 43035}, - expr: &litMatcher{ - pos: position{line: 1362, col: 26, offset: 43036}, - val: ":", - ignoreCase: false, - want: "\":\"", + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuation16, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, - &labeledExpr{ - pos: position{line: 1362, col: 30, offset: 43040}, - label: "path", - expr: &ruleRefExpr{ - pos: position{line: 1362, col: 36, offset: 43046}, - name: "Location", + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuation18, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, }, &labeledExpr{ - pos: position{line: 1362, col: 46, offset: 43056}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1362, col: 58, offset: 43068}, - name: "InlineAttributes", + pos: position{line: 1585, col: 5, offset: 51605}, + label: "element", + expr: &zeroOrOneExpr{ + pos: position{line: 1585, col: 13, offset: 51613}, + expr: &ruleRefExpr{ + pos: position{line: 1585, col: 13, offset: 51613}, + name: "ListElementContinuationElement", + }, }, }, }, @@ -7057,2067 +39126,10185 @@ var g = &grammar{ }, }, { - name: "InlineIcon", - pos: position{line: 1369, col: 1, offset: 43464}, + name: "ListElementContinuationElement", + pos: position{line: 1592, col: 1, offset: 51801}, expr: &actionExpr{ - pos: position{line: 1369, col: 15, offset: 43478}, - run: (*parser).callonInlineIcon1, + pos: position{line: 1593, col: 5, offset: 51879}, + run: (*parser).callonListElementContinuationElement1, expr: &seqExpr{ - pos: position{line: 1369, col: 15, offset: 43478}, + pos: position{line: 1593, col: 5, offset: 51879}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1369, col: 15, offset: 43478}, - val: "icon:", - ignoreCase: false, - want: "\"icon:\"", - }, - &labeledExpr{ - pos: position{line: 1369, col: 23, offset: 43486}, - label: "icon", - expr: &actionExpr{ - pos: position{line: 1369, col: 29, offset: 43492}, - run: (*parser).callonInlineIcon5, - expr: &oneOrMoreExpr{ - pos: position{line: 1369, col: 29, offset: 43492}, - expr: &charClassMatcher{ - pos: position{line: 1369, col: 29, offset: 43492}, - val: "[\\pL0-9_-]", - chars: []rune{'_', '-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1369, col: 73, offset: 43536}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1369, col: 85, offset: 43548}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "InlineFootnote", - pos: position{line: 1376, col: 1, offset: 43914}, - expr: &choiceExpr{ - pos: position{line: 1376, col: 19, offset: 43932}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1376, col: 19, offset: 43932}, - run: (*parser).callonInlineFootnote2, - expr: &seqExpr{ - pos: position{line: 1376, col: 19, offset: 43932}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1376, col: 19, offset: 43932}, - val: "footnote:[", - ignoreCase: false, - want: "\"footnote:[\"", - }, - &labeledExpr{ - pos: position{line: 1376, col: 32, offset: 43945}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 1376, col: 42, offset: 43955}, - name: "FootnoteElements", - }, - }, - &litMatcher{ - pos: position{line: 1376, col: 60, offset: 43973}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1378, col: 9, offset: 44051}, - run: (*parser).callonInlineFootnote8, - expr: &seqExpr{ - pos: position{line: 1378, col: 9, offset: 44051}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1378, col: 9, offset: 44051}, - val: "footnote:", - ignoreCase: false, - want: "\"footnote:\"", - }, - &labeledExpr{ - pos: position{line: 1378, col: 21, offset: 44063}, - label: "ref", - expr: &ruleRefExpr{ - pos: position{line: 1378, col: 26, offset: 44068}, - name: "FootnoteRef", - }, - }, - &litMatcher{ - pos: position{line: 1378, col: 39, offset: 44081}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - &labeledExpr{ - pos: position{line: 1378, col: 43, offset: 44085}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 1378, col: 53, offset: 44095}, - name: "FootnoteElements", - }, - }, - &litMatcher{ - pos: position{line: 1378, col: 71, offset: 44113}, - val: "]", - ignoreCase: false, - want: "\"]\"", + ¬Expr{ + pos: position{line: 1593, col: 5, offset: 51879}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, }, }, }, - }, - }, - }, - }, - { - name: "FootnoteRef", - pos: position{line: 1382, col: 1, offset: 44253}, - expr: &ruleRefExpr{ - pos: position{line: 1382, col: 16, offset: 44268}, - name: "Alphanums", - }, - }, - { - name: "FootnoteElements", - pos: position{line: 1384, col: 1, offset: 44279}, - expr: &actionExpr{ - pos: position{line: 1384, col: 21, offset: 44299}, - run: (*parser).callonFootnoteElements1, - expr: &labeledExpr{ - pos: position{line: 1384, col: 21, offset: 44299}, - label: "elements", - expr: &zeroOrMoreExpr{ - pos: position{line: 1384, col: 30, offset: 44308}, - expr: &ruleRefExpr{ - pos: position{line: 1384, col: 31, offset: 44309}, - name: "FootnoteElement", - }, - }, - }, - }, - }, - { - name: "FootnoteElement", - pos: position{line: 1388, col: 1, offset: 44401}, - expr: &actionExpr{ - pos: position{line: 1389, col: 5, offset: 44425}, - run: (*parser).callonFootnoteElement1, - expr: &seqExpr{ - pos: position{line: 1389, col: 5, offset: 44425}, - exprs: []interface{}{ ¬Expr{ - pos: position{line: 1389, col: 5, offset: 44425}, - expr: &litMatcher{ - pos: position{line: 1389, col: 6, offset: 44426}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - &labeledExpr{ - pos: position{line: 1390, col: 5, offset: 44435}, - label: "element", + pos: position{line: 1594, col: 5, offset: 51905}, expr: &choiceExpr{ - pos: position{line: 1391, col: 9, offset: 44453}, + pos: position{line: 1484, col: 5, offset: 48240}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1391, col: 9, offset: 44453}, - name: "InlineElement", - }, - &ruleRefExpr{ - pos: position{line: 1392, col: 11, offset: 44477}, - name: "Newline", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "SinglePlusPassthroughPrefix", - pos: position{line: 1400, col: 1, offset: 44717}, - expr: &litMatcher{ - pos: position{line: 1400, col: 32, offset: 44748}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - { - name: "SinglePlusPassthrough", - pos: position{line: 1402, col: 1, offset: 44753}, - expr: &actionExpr{ - pos: position{line: 1402, col: 26, offset: 44778}, - run: (*parser).callonSinglePlusPassthrough1, - expr: &seqExpr{ - pos: position{line: 1402, col: 26, offset: 44778}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1402, col: 26, offset: 44778}, - name: "SinglePlusPassthroughPrefix", - }, - &labeledExpr{ - pos: position{line: 1402, col: 54, offset: 44806}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 1402, col: 63, offset: 44815}, - name: "SinglePlusPassthroughContent", - }, - }, - &ruleRefExpr{ - pos: position{line: 1402, col: 93, offset: 44845}, - name: "SinglePlusPassthroughPrefix", - }, - ¬Expr{ - pos: position{line: 1402, col: 121, offset: 44873}, - expr: &ruleRefExpr{ - pos: position{line: 1402, col: 122, offset: 44874}, - name: "Alphanum", - }, - }, - }, - }, - }, - }, - { - name: "SinglePlusPassthroughContent", - pos: position{line: 1406, col: 1, offset: 44987}, - expr: &choiceExpr{ - pos: position{line: 1406, col: 33, offset: 45019}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1406, col: 34, offset: 45020}, - run: (*parser).callonSinglePlusPassthroughContent2, - expr: &seqExpr{ - pos: position{line: 1406, col: 34, offset: 45020}, - exprs: []interface{}{ - &seqExpr{ - pos: position{line: 1406, col: 35, offset: 45021}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1406, col: 35, offset: 45021}, - expr: &ruleRefExpr{ - pos: position{line: 1406, col: 36, offset: 45022}, - name: "SinglePlusPassthroughPrefix", - }, - }, - ¬Expr{ - pos: position{line: 1406, col: 64, offset: 45050}, - expr: &ruleRefExpr{ - pos: position{line: 1406, col: 65, offset: 45051}, - name: "Space", - }, - }, - ¬Expr{ - pos: position{line: 1406, col: 71, offset: 45057}, - expr: &ruleRefExpr{ - pos: position{line: 1406, col: 72, offset: 45058}, - name: "Newline", - }, - }, - &anyMatcher{ - line: 1406, col: 80, offset: 45066, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1406, col: 83, offset: 45069}, - expr: &seqExpr{ - pos: position{line: 1406, col: 84, offset: 45070}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1406, col: 84, offset: 45070}, - expr: &seqExpr{ - pos: position{line: 1406, col: 86, offset: 45072}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1406, col: 86, offset: 45072}, - name: "Spaces", - }, - &ruleRefExpr{ - pos: position{line: 1406, col: 93, offset: 45079}, - name: "SinglePlusPassthroughPrefix", + &actionExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + run: (*parser).callonListElementContinuationElement8, + expr: &seqExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1631, col: 5, offset: 53047}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonListElementContinuationElement11, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement14, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonListElementContinuationElement18, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonListElementContinuationElement21, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonListElementContinuationElement24, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonListElementContinuationElement25, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonListElementContinuationElement30, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonListElementContinuationElement34, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonListElementContinuationElement38, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonListElementContinuationElement43, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement48, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, - }, - ¬Expr{ - pos: position{line: 1406, col: 122, offset: 45108}, - expr: &ruleRefExpr{ - pos: position{line: 1406, col: 123, offset: 45109}, - name: "SinglePlusPassthroughPrefix", - }, - }, - ¬Expr{ - pos: position{line: 1406, col: 151, offset: 45137}, - expr: &ruleRefExpr{ - pos: position{line: 1406, col: 152, offset: 45138}, - name: "Newline", + &labeledExpr{ + pos: position{line: 1632, col: 5, offset: 53086}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonListElementContinuationElement52, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonListElementContinuationElement55, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement59, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, }, }, - &anyMatcher{ - line: 1406, col: 160, offset: 45146, - }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1408, col: 11, offset: 45296}, - run: (*parser).callonSinglePlusPassthroughContent23, - expr: &seqExpr{ - pos: position{line: 1408, col: 12, offset: 45297}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1408, col: 12, offset: 45297}, - expr: &ruleRefExpr{ - pos: position{line: 1408, col: 13, offset: 45298}, - name: "Space", - }, - }, - ¬Expr{ - pos: position{line: 1408, col: 19, offset: 45304}, - expr: &ruleRefExpr{ - pos: position{line: 1408, col: 20, offset: 45305}, - name: "Newline", - }, - }, - ¬Expr{ - pos: position{line: 1408, col: 28, offset: 45313}, - expr: &ruleRefExpr{ - pos: position{line: 1408, col: 29, offset: 45314}, - name: "SinglePlusPassthroughPrefix", - }, - }, - &anyMatcher{ - line: 1408, col: 57, offset: 45342, - }, - }, - }, - }, - }, - }, - }, - { - name: "TriplePlusPassthroughPrefix", - pos: position{line: 1412, col: 1, offset: 45432}, - expr: &litMatcher{ - pos: position{line: 1412, col: 32, offset: 45463}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - }, - { - name: "TriplePlusPassthrough", - pos: position{line: 1414, col: 1, offset: 45470}, - expr: &actionExpr{ - pos: position{line: 1414, col: 26, offset: 45495}, - run: (*parser).callonTriplePlusPassthrough1, - expr: &seqExpr{ - pos: position{line: 1414, col: 26, offset: 45495}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1414, col: 26, offset: 45495}, - name: "TriplePlusPassthroughPrefix", - }, - &labeledExpr{ - pos: position{line: 1414, col: 54, offset: 45523}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 1414, col: 63, offset: 45532}, - name: "TriplePlusPassthroughContent", - }, - }, - &ruleRefExpr{ - pos: position{line: 1414, col: 93, offset: 45562}, - name: "TriplePlusPassthroughPrefix", - }, - ¬Expr{ - pos: position{line: 1414, col: 121, offset: 45590}, - expr: &ruleRefExpr{ - pos: position{line: 1414, col: 122, offset: 45591}, - name: "Alphanum", - }, - }, - }, - }, - }, - }, - { - name: "TriplePlusPassthroughContent", - pos: position{line: 1418, col: 1, offset: 45704}, - expr: &choiceExpr{ - pos: position{line: 1418, col: 33, offset: 45736}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1418, col: 34, offset: 45737}, - run: (*parser).callonTriplePlusPassthroughContent2, - expr: &zeroOrMoreExpr{ - pos: position{line: 1418, col: 34, offset: 45737}, - expr: &seqExpr{ - pos: position{line: 1418, col: 35, offset: 45738}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1418, col: 35, offset: 45738}, - expr: &ruleRefExpr{ - pos: position{line: 1418, col: 36, offset: 45739}, - name: "TriplePlusPassthroughPrefix", - }, - }, - &anyMatcher{ - line: 1418, col: 64, offset: 45767, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1420, col: 11, offset: 45940}, - run: (*parser).callonTriplePlusPassthroughContent8, - expr: &zeroOrOneExpr{ - pos: position{line: 1420, col: 11, offset: 45940}, - expr: &seqExpr{ - pos: position{line: 1420, col: 12, offset: 45941}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1420, col: 12, offset: 45941}, - expr: &ruleRefExpr{ - pos: position{line: 1420, col: 13, offset: 45942}, - name: "Space", + &actionExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + run: (*parser).callonListElementContinuationElement66, + expr: &seqExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1681, col: 5, offset: 54944}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonListElementContinuationElement69, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement72, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonListElementContinuationElement76, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonListElementContinuationElement79, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonListElementContinuationElement82, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonListElementContinuationElement84, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement86, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1682, col: 5, offset: 54985}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1682, col: 16, offset: 54996}, + expr: &actionExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + run: (*parser).callonListElementContinuationElement91, + expr: &seqExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1718, col: 5, offset: 56273}, + expr: &litMatcher{ + pos: position{line: 1718, col: 6, offset: 56274}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1718, col: 10, offset: 56278}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1719, col: 7, offset: 56292}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1719, col: 7, offset: 56292}, + run: (*parser).callonListElementContinuationElement97, + expr: &litMatcher{ + pos: position{line: 1719, col: 7, offset: 56292}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1720, col: 7, offset: 56337}, + run: (*parser).callonListElementContinuationElement99, + expr: &litMatcher{ + pos: position{line: 1720, col: 7, offset: 56337}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1721, col: 7, offset: 56380}, + run: (*parser).callonListElementContinuationElement101, + expr: &litMatcher{ + pos: position{line: 1721, col: 7, offset: 56380}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement103, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1683, col: 5, offset: 55035}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonListElementContinuationElement107, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonListElementContinuationElement110, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement114, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - ¬Expr{ - pos: position{line: 1420, col: 19, offset: 45948}, - expr: &ruleRefExpr{ - pos: position{line: 1420, col: 20, offset: 45949}, - name: "Newline", + &actionExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + run: (*parser).callonListElementContinuationElement121, + expr: &seqExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1788, col: 5, offset: 58253}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonListElementContinuationElement124, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonListElementContinuationElement128, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement132, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1789, col: 5, offset: 58289}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + run: (*parser).callonListElementContinuationElement136, + expr: &seqExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 51282}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + run: (*parser).callonListElementContinuationElement139, + expr: &oneOrMoreExpr{ + pos: position{line: 1572, col: 14, offset: 51291}, + expr: &charClassMatcher{ + pos: position{line: 1572, col: 14, offset: 51291}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement143, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - ¬Expr{ - pos: position{line: 1420, col: 28, offset: 45957}, - expr: &ruleRefExpr{ - pos: position{line: 1420, col: 29, offset: 45958}, - name: "TriplePlusPassthroughPrefix", + &actionExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + run: (*parser).callonListElementContinuationElement150, + expr: &seqExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1730, col: 5, offset: 56573}, + label: "term", + expr: &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonListElementContinuationElement153, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonListElementContinuationElement157, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonListElementContinuationElement160, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonListElementContinuationElement163, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement166, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1731, col: 5, offset: 56608}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonListElementContinuationElement175, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonListElementContinuationElement178, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonListElementContinuationElement181, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1732, col: 5, offset: 56653}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1754, col: 5, offset: 57302}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + run: (*parser).callonListElementContinuationElement184, + expr: &seqExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1756, col: 9, offset: 57367}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement187, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement190, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1757, col: 9, offset: 57387}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement198, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement204, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement207, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1758, col: 9, offset: 57407}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 1758, col: 17, offset: 57415}, + expr: &choiceExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1552, col: 5, offset: 50649}, + run: (*parser).callonListElementContinuationElement217, + expr: &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonListElementContinuationElement218, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonListElementContinuationElement224, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement228, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + run: (*parser).callonListElementContinuationElement235, + expr: &seqExpr{ + pos: position{line: 1556, col: 9, offset: 50802}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1556, col: 9, offset: 50802}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement238, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement244, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement247, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1557, col: 9, offset: 50821}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement258, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement260, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1558, col: 9, offset: 50860}, + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonListElementContinuationElement266, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement269, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonListElementContinuationElement273, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonListElementContinuationElement276, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonListElementContinuationElement279, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonListElementContinuationElement280, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonListElementContinuationElement285, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonListElementContinuationElement289, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonListElementContinuationElement293, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonListElementContinuationElement298, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement303, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1559, col: 9, offset: 50894}, + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonListElementContinuationElement307, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement310, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonListElementContinuationElement314, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonListElementContinuationElement317, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonListElementContinuationElement320, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonListElementContinuationElement322, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement324, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1560, col: 9, offset: 50930}, + expr: &actionExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + run: (*parser).callonListElementContinuationElement328, + expr: &seqExpr{ + pos: position{line: 1794, col: 5, offset: 58450}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1794, col: 5, offset: 58450}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1794, col: 9, offset: 58454}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + run: (*parser).callonListElementContinuationElement332, + expr: &oneOrMoreExpr{ + pos: position{line: 1794, col: 14, offset: 58459}, + expr: &charClassMatcher{ + pos: position{line: 1794, col: 14, offset: 58459}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1794, col: 62, offset: 58507}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement336, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1561, col: 9, offset: 50964}, + expr: &seqExpr{ + pos: position{line: 1561, col: 11, offset: 50966}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + run: (*parser).callonListElementContinuationElement341, + expr: &oneOrMoreExpr{ + pos: position{line: 1738, col: 5, offset: 56832}, + expr: &seqExpr{ + pos: position{line: 1738, col: 6, offset: 56833}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1738, col: 6, offset: 56833}, + expr: &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonListElementContinuationElement345, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonListElementContinuationElement348, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonListElementContinuationElement351, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1738, col: 35, offset: 56862}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement354, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1738, col: 40, offset: 56867, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + run: (*parser).callonListElementContinuationElement362, + expr: &seqExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1743, col: 5, offset: 56983}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + run: (*parser).callonListElementContinuationElement365, + expr: &oneOrMoreExpr{ + pos: position{line: 1743, col: 16, offset: 56994}, + expr: &litMatcher{ + pos: position{line: 1743, col: 17, offset: 56995}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1746, col: 5, offset: 57052}, + run: (*parser).callonListElementContinuationElement368, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1562, col: 9, offset: 51026}, + expr: &actionExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + run: (*parser).callonListElementContinuationElement370, + expr: &seqExpr{ + pos: position{line: 735, col: 5, offset: 23652}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 735, col: 5, offset: 23652}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 736, col: 5, offset: 23682}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 737, col: 9, offset: 23702}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonListElementContinuationElement376, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonListElementContinuationElement379, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement385, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement388, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonListElementContinuationElement395, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonListElementContinuationElement398, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement404, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement407, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + run: (*parser).callonListElementContinuationElement414, + expr: &seqExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 771, col: 26, offset: 24930}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 771, col: 32, offset: 24936}, + label: "language", + expr: &actionExpr{ + pos: position{line: 775, col: 13, offset: 25066}, + run: (*parser).callonListElementContinuationElement418, + expr: &oneOrMoreExpr{ + pos: position{line: 775, col: 14, offset: 25067}, + expr: &charClassMatcher{ + pos: position{line: 775, col: 14, offset: 25067}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 52, offset: 24956}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement422, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement425, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonListElementContinuationElement432, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonListElementContinuationElement435, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement441, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement444, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonListElementContinuationElement451, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonListElementContinuationElement454, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement460, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement463, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonListElementContinuationElement470, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonListElementContinuationElement473, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement479, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement482, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonListElementContinuationElement489, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonListElementContinuationElement492, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement498, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement501, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonListElementContinuationElement508, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonListElementContinuationElement511, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement517, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement520, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonListElementContinuationElement527, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonListElementContinuationElement530, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement536, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement539, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1563, col: 9, offset: 51050}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + run: (*parser).callonListElementContinuationElement547, + expr: &oneOrMoreExpr{ + pos: position{line: 1563, col: 18, offset: 51059}, + expr: &charClassMatcher{ + pos: position{line: 1563, col: 18, offset: 51059}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement551, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1766, col: 9, offset: 57650}, + run: (*parser).callonListElementContinuationElement558, + expr: &seqExpr{ + pos: position{line: 1766, col: 9, offset: 57650}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement560, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1767, col: 9, offset: 57702}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1767, col: 18, offset: 57711}, + run: (*parser).callonListElementContinuationElement564, + expr: &oneOrMoreExpr{ + pos: position{line: 1767, col: 18, offset: 57711}, + expr: &charClassMatcher{ + pos: position{line: 1767, col: 18, offset: 57711}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement568, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &anyMatcher{ - line: 1420, col: 57, offset: 45986, - }, }, }, }, - }, - }, - }, - }, - { - name: "PassthroughMacro", - pos: position{line: 1424, col: 1, offset: 46077}, - expr: &choiceExpr{ - pos: position{line: 1424, col: 21, offset: 46097}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1424, col: 21, offset: 46097}, - run: (*parser).callonPassthroughMacro2, - expr: &seqExpr{ - pos: position{line: 1424, col: 21, offset: 46097}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1424, col: 21, offset: 46097}, - val: "pass:[", - ignoreCase: false, - want: "\"pass:[\"", - }, - &labeledExpr{ - pos: position{line: 1424, col: 30, offset: 46106}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 1424, col: 38, offset: 46114}, - expr: &ruleRefExpr{ - pos: position{line: 1424, col: 39, offset: 46115}, - name: "PassthroughMacroCharacter", - }, - }, - }, - &litMatcher{ - pos: position{line: 1424, col: 67, offset: 46143}, - val: "]", - ignoreCase: false, - want: "\"]\"", + &labeledExpr{ + pos: position{line: 1595, col: 5, offset: 51922}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1595, col: 16, offset: 51933}, + expr: &ruleRefExpr{ + pos: position{line: 1595, col: 17, offset: 51934}, + name: "BlockAttributes", }, }, }, - }, - &actionExpr{ - pos: position{line: 1426, col: 9, offset: 46247}, - run: (*parser).callonPassthroughMacro9, - expr: &seqExpr{ - pos: position{line: 1426, col: 9, offset: 46247}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1426, col: 9, offset: 46247}, - val: "pass:q[", - ignoreCase: false, - want: "\"pass:q[\"", - }, - &labeledExpr{ - pos: position{line: 1426, col: 19, offset: 46257}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 1426, col: 27, offset: 46265}, - expr: &choiceExpr{ - pos: position{line: 1426, col: 28, offset: 46266}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1426, col: 28, offset: 46266}, - name: "QuotedText", + &labeledExpr{ + pos: position{line: 1596, col: 5, offset: 51956}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1597, col: 9, offset: 51974}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement580, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 1426, col: 41, offset: 46279}, - name: "PassthroughMacroCharacter", + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement586, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement589, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, }, - }, - &litMatcher{ - pos: position{line: 1426, col: 69, offset: 46307}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - }, - }, - }, - }, - { - name: "PassthroughMacroCharacter", - pos: position{line: 1430, col: 1, offset: 46411}, - expr: &actionExpr{ - pos: position{line: 1430, col: 30, offset: 46440}, - run: (*parser).callonPassthroughMacroCharacter1, - expr: &charClassMatcher{ - pos: position{line: 1430, col: 30, offset: 46440}, - val: "[^\\]]", - chars: []rune{']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - { - name: "Link", - pos: position{line: 1437, col: 1, offset: 46696}, - expr: &choiceExpr{ - pos: position{line: 1437, col: 9, offset: 46704}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1437, col: 9, offset: 46704}, - name: "BareURL", - }, - &ruleRefExpr{ - pos: position{line: 1437, col: 19, offset: 46714}, - name: "RelativeLink", - }, - &ruleRefExpr{ - pos: position{line: 1437, col: 34, offset: 46729}, - name: "ExternalLink", - }, - }, - }, - }, - { - name: "BareURL", - pos: position{line: 1439, col: 1, offset: 46743}, - expr: &actionExpr{ - pos: position{line: 1440, col: 5, offset: 46758}, - run: (*parser).callonBareURL1, - expr: &seqExpr{ - pos: position{line: 1440, col: 5, offset: 46758}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1440, col: 5, offset: 46758}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1441, col: 5, offset: 46767}, - label: "url", - expr: &ruleRefExpr{ - pos: position{line: 1441, col: 10, offset: 46772}, - name: "LocationWithScheme", - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1442, col: 5, offset: 46834}, - expr: &litMatcher{ - pos: position{line: 1442, col: 5, offset: 46834}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - &andCodeExpr{ - pos: position{line: 1443, col: 5, offset: 46843}, - run: (*parser).callonBareURL8, - }, - }, - }, - }, - }, - { - name: "RelativeLink", - pos: position{line: 1451, col: 1, offset: 47058}, - expr: &choiceExpr{ - pos: position{line: 1453, col: 5, offset: 47094}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1453, col: 5, offset: 47094}, - run: (*parser).callonRelativeLink2, - expr: &seqExpr{ - pos: position{line: 1453, col: 5, offset: 47094}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1453, col: 5, offset: 47094}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &litMatcher{ - pos: position{line: 1453, col: 9, offset: 47098}, - val: "link:", - ignoreCase: false, - want: "\"link:\"", - }, - &labeledExpr{ - pos: position{line: 1453, col: 17, offset: 47106}, - label: "url", - expr: &ruleRefExpr{ - pos: position{line: 1453, col: 22, offset: 47111}, - name: "Location", - }, - }, - &labeledExpr{ - pos: position{line: 1453, col: 32, offset: 47121}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1453, col: 44, offset: 47133}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1458, col: 5, offset: 47265}, - run: (*parser).callonRelativeLink10, - expr: &seqExpr{ - pos: position{line: 1458, col: 5, offset: 47265}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1458, col: 5, offset: 47265}, - val: "link:", - ignoreCase: false, - want: "\"link:\"", - }, - &labeledExpr{ - pos: position{line: 1458, col: 13, offset: 47273}, - label: "url", - expr: &ruleRefExpr{ - pos: position{line: 1458, col: 18, offset: 47278}, - name: "Location", - }, - }, - &labeledExpr{ - pos: position{line: 1458, col: 28, offset: 47288}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1458, col: 40, offset: 47300}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ExternalLink", - pos: position{line: 1462, col: 1, offset: 47416}, - expr: &choiceExpr{ - pos: position{line: 1464, col: 5, offset: 47452}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1464, col: 5, offset: 47452}, - run: (*parser).callonExternalLink2, - expr: &seqExpr{ - pos: position{line: 1464, col: 5, offset: 47452}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1464, col: 5, offset: 47452}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &labeledExpr{ - pos: position{line: 1464, col: 9, offset: 47456}, - label: "url", - expr: &ruleRefExpr{ - pos: position{line: 1464, col: 14, offset: 47461}, - name: "LocationWithScheme", + &ruleRefExpr{ + pos: position{line: 1598, col: 11, offset: 51994}, + name: "AttributeDeclaration", }, - }, - &labeledExpr{ - pos: position{line: 1464, col: 34, offset: 47481}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1464, col: 45, offset: 47492}, - expr: &ruleRefExpr{ - pos: position{line: 1464, col: 46, offset: 47493}, - name: "InlineAttributes", + &actionExpr{ + pos: position{line: 364, col: 19, offset: 11171}, + run: (*parser).callonListElementContinuationElement597, + expr: &seqExpr{ + pos: position{line: 364, col: 19, offset: 11171}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 364, col: 19, offset: 11171}, + val: ":!", + ignoreCase: false, + want: "\":!\"", + }, + &labeledExpr{ + pos: position{line: 364, col: 24, offset: 11176}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonListElementContinuationElement601, + 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: 364, col: 45, offset: 11197}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 364, col: 49, offset: 11201}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement608, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement611, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1469, col: 5, offset: 47626}, - run: (*parser).callonExternalLink10, - expr: &seqExpr{ - pos: position{line: 1469, col: 5, offset: 47626}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1469, col: 5, offset: 47626}, - label: "url", - expr: &ruleRefExpr{ - pos: position{line: 1469, col: 10, offset: 47631}, - name: "LocationWithScheme", - }, - }, - &labeledExpr{ - pos: position{line: 1469, col: 30, offset: 47651}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1469, col: 41, offset: 47662}, - expr: &ruleRefExpr{ - pos: position{line: 1469, col: 42, offset: 47663}, - name: "InlineAttributes", + &actionExpr{ + pos: position{line: 366, col: 9, offset: 11292}, + run: (*parser).callonListElementContinuationElement618, + expr: &seqExpr{ + pos: position{line: 366, col: 9, offset: 11292}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 366, col: 9, offset: 11292}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 366, col: 13, offset: 11296}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonListElementContinuationElement622, + 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: 366, col: 34, offset: 11317}, + val: "!:", + ignoreCase: false, + want: "\"!:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 366, col: 39, offset: 11322}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement629, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement632, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ListElements", - pos: position{line: 1477, col: 1, offset: 48017}, - expr: &actionExpr{ - pos: position{line: 1478, col: 5, offset: 48038}, - run: (*parser).callonListElements1, - expr: &seqExpr{ - pos: position{line: 1478, col: 5, offset: 48038}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1478, col: 5, offset: 48038}, - label: "firstElement", - expr: &ruleRefExpr{ - pos: position{line: 1478, col: 19, offset: 48052}, - name: "ListElement", - }, - }, - &labeledExpr{ - pos: position{line: 1479, col: 5, offset: 48069}, - label: "extraElements", - expr: &ruleRefExpr{ - pos: position{line: 1479, col: 20, offset: 48084}, - name: "ExtraListElements", - }, - }, - }, - }, - }, - }, - { - name: "ListElement", - pos: position{line: 1483, col: 1, offset: 48220}, - expr: &choiceExpr{ - pos: position{line: 1484, col: 5, offset: 48240}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1484, col: 5, offset: 48240}, - name: "OrderedListElement", - }, - &ruleRefExpr{ - pos: position{line: 1485, col: 7, offset: 48266}, - name: "UnorderedListElement", - }, - &ruleRefExpr{ - pos: position{line: 1486, col: 7, offset: 48293}, - name: "CalloutListElement", - }, - &ruleRefExpr{ - pos: position{line: 1487, col: 7, offset: 48318}, - name: "LabeledListElement", - }, - }, - }, - }, - { - name: "ExtraListElements", - pos: position{line: 1489, col: 1, offset: 48339}, - expr: &actionExpr{ - pos: position{line: 1489, col: 22, offset: 48360}, - run: (*parser).callonExtraListElements1, - expr: &labeledExpr{ - pos: position{line: 1489, col: 22, offset: 48360}, - label: "elements", - expr: &zeroOrMoreExpr{ - pos: position{line: 1489, col: 31, offset: 48369}, - expr: &ruleRefExpr{ - pos: position{line: 1489, col: 32, offset: 48370}, - name: "ExtraListElement", - }, - }, - }, - }, - }, - { - name: "ExtraListElement", - pos: position{line: 1493, col: 1, offset: 48450}, - expr: &actionExpr{ - pos: position{line: 1494, col: 5, offset: 48589}, - run: (*parser).callonExtraListElement1, - expr: &seqExpr{ - pos: position{line: 1494, col: 5, offset: 48589}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1494, col: 5, offset: 48589}, - expr: &ruleRefExpr{ - pos: position{line: 1494, col: 6, offset: 48590}, - name: "EOF", - }, - }, - &labeledExpr{ - pos: position{line: 1495, col: 5, offset: 48599}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1496, col: 9, offset: 48617}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1496, col: 13, offset: 48621}, - run: (*parser).callonExtraListElement7, + pos: position{line: 826, col: 5, offset: 26775}, + run: (*parser).callonListElementContinuationElement639, expr: &seqExpr{ - pos: position{line: 1496, col: 13, offset: 48621}, + pos: position{line: 826, col: 5, offset: 26775}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1496, col: 13, offset: 48621}, - expr: &ruleRefExpr{ - pos: position{line: 1496, col: 13, offset: 48621}, - name: "BlankLine", + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonListElementContinuationElement641, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonListElementContinuationElement644, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement650, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement653, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, &labeledExpr{ - pos: position{line: 1497, col: 13, offset: 48645}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1497, col: 21, offset: 48653}, - name: "OrderedListElement", + pos: position{line: 827, col: 5, offset: 26806}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 837, col: 5, offset: 27092}, + expr: &actionExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + run: (*parser).callonListElementContinuationElement662, + expr: &seqExpr{ + pos: position{line: 837, col: 6, offset: 27093}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 837, col: 6, offset: 27093}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonListElementContinuationElement666, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonListElementContinuationElement669, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement675, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement678, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 838, col: 5, offset: 27123}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement688, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement694, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement698, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 828, col: 5, offset: 26840}, + expr: &choiceExpr{ + pos: position{line: 834, col: 29, offset: 27035}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + run: (*parser).callonListElementContinuationElement707, + expr: &seqExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 751, col: 5, offset: 24194}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + run: (*parser).callonListElementContinuationElement710, + expr: &seqExpr{ + pos: position{line: 751, col: 16, offset: 24205}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 751, col: 16, offset: 24205}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 751, col: 23, offset: 24212}, + expr: &litMatcher{ + pos: position{line: 751, col: 23, offset: 24212}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 753, col: 8, offset: 24296}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement716, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement719, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1500, col: 13, offset: 48737}, - run: (*parser).callonExtraListElement13, + pos: position{line: 846, col: 5, offset: 27276}, + run: (*parser).callonListElementContinuationElement728, expr: &seqExpr{ - pos: position{line: 1500, col: 13, offset: 48737}, + pos: position{line: 846, col: 5, offset: 27276}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1500, col: 13, offset: 48737}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1500, col: 24, offset: 48748}, - expr: &ruleRefExpr{ - pos: position{line: 1500, col: 25, offset: 48749}, - name: "BlockAttributes", + pos: position{line: 846, col: 5, offset: 27276}, + label: "start", + expr: &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonListElementContinuationElement731, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonListElementContinuationElement734, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement740, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement743, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, }, + &andCodeExpr{ + pos: position{line: 847, col: 5, offset: 27315}, + run: (*parser).callonListElementContinuationElement750, + }, &labeledExpr{ - pos: position{line: 1501, col: 13, offset: 48780}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1501, col: 21, offset: 48788}, - name: "OrderedListElement", + pos: position{line: 850, col: 5, offset: 27407}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 865, col: 4, offset: 27804}, + expr: &actionExpr{ + pos: position{line: 865, col: 5, offset: 27805}, + run: (*parser).callonListElementContinuationElement753, + expr: &seqExpr{ + pos: position{line: 865, col: 5, offset: 27805}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 865, col: 5, offset: 27805}, + expr: &choiceExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + label: "end", + expr: &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonListElementContinuationElement759, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonListElementContinuationElement762, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement768, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement771, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 859, col: 5, offset: 27678}, + run: (*parser).callonListElementContinuationElement778, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 866, col: 5, offset: 27835}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement782, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement788, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement792, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 851, col: 5, offset: 27441}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 851, col: 9, offset: 27445}, + expr: &choiceExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 858, col: 5, offset: 27647}, + label: "end", + expr: &actionExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + run: (*parser).callonListElementContinuationElement804, + expr: &seqExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 758, col: 5, offset: 24442}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + run: (*parser).callonListElementContinuationElement807, + expr: &seqExpr{ + pos: position{line: 758, col: 16, offset: 24453}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 758, col: 16, offset: 24453}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 758, col: 23, offset: 24460}, + expr: &litMatcher{ + pos: position{line: 758, col: 23, offset: 24460}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 8, offset: 24544}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement813, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement816, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 859, col: 5, offset: 27678}, + run: (*parser).callonListElementContinuationElement823, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1504, col: 13, offset: 48908}, - run: (*parser).callonExtraListElement20, + pos: position{line: 958, col: 5, offset: 30127}, + run: (*parser).callonListElementContinuationElement826, expr: &seqExpr{ - pos: position{line: 1504, col: 13, offset: 48908}, + pos: position{line: 958, col: 5, offset: 30127}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1504, col: 13, offset: 48908}, - expr: &ruleRefExpr{ - pos: position{line: 1504, col: 13, offset: 48908}, - name: "BlankLine", + &labeledExpr{ + pos: position{line: 958, col: 5, offset: 30127}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + run: (*parser).callonListElementContinuationElement829, + expr: &seqExpr{ + pos: position{line: 771, col: 26, offset: 24930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 771, col: 26, offset: 24930}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 771, col: 32, offset: 24936}, + label: "language", + expr: &actionExpr{ + pos: position{line: 775, col: 13, offset: 25066}, + run: (*parser).callonListElementContinuationElement833, + expr: &oneOrMoreExpr{ + pos: position{line: 775, col: 14, offset: 25067}, + expr: &charClassMatcher{ + pos: position{line: 775, col: 14, offset: 25067}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 52, offset: 24956}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement837, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement840, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, &labeledExpr{ - pos: position{line: 1505, col: 13, offset: 48932}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1505, col: 21, offset: 48940}, - name: "UnorderedListElement", + pos: position{line: 959, col: 5, offset: 30173}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 972, col: 5, offset: 30646}, + expr: &actionExpr{ + pos: position{line: 972, col: 6, offset: 30647}, + run: (*parser).callonListElementContinuationElement849, + expr: &seqExpr{ + pos: position{line: 972, col: 6, offset: 30647}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 972, col: 6, offset: 30647}, + expr: &seqExpr{ + pos: position{line: 969, col: 34, offset: 30594}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 969, col: 34, offset: 30594}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 969, col: 40, offset: 30600}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement855, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement858, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 973, col: 5, offset: 30682}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement866, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement872, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement876, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 960, col: 5, offset: 30212}, + expr: &seqExpr{ + pos: position{line: 969, col: 34, offset: 30594}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 969, col: 34, offset: 30594}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 969, col: 40, offset: 30600}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement887, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement890, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1508, col: 13, offset: 49026}, - run: (*parser).callonExtraListElement26, + pos: position{line: 874, col: 5, offset: 27988}, + run: (*parser).callonListElementContinuationElement897, expr: &seqExpr{ - pos: position{line: 1508, col: 13, offset: 49026}, + pos: position{line: 874, col: 5, offset: 27988}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1508, col: 13, offset: 49026}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1508, col: 24, offset: 49037}, - expr: &ruleRefExpr{ - pos: position{line: 1508, col: 25, offset: 49038}, - name: "BlockAttributes", + pos: position{line: 874, col: 5, offset: 27988}, + label: "start", + expr: &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonListElementContinuationElement900, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonListElementContinuationElement903, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement909, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement912, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, }, + &andCodeExpr{ + pos: position{line: 875, col: 5, offset: 28026}, + run: (*parser).callonListElementContinuationElement919, + }, &labeledExpr{ - pos: position{line: 1509, col: 13, offset: 49069}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1509, col: 21, offset: 49077}, - name: "UnorderedListElement", + pos: position{line: 878, col: 5, offset: 28118}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 893, col: 5, offset: 28508}, + expr: &actionExpr{ + pos: position{line: 893, col: 6, offset: 28509}, + run: (*parser).callonListElementContinuationElement922, + expr: &seqExpr{ + pos: position{line: 893, col: 6, offset: 28509}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 893, col: 6, offset: 28509}, + expr: &choiceExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + label: "end", + expr: &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonListElementContinuationElement928, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonListElementContinuationElement931, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement937, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement940, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 887, col: 5, offset: 28382}, + run: (*parser).callonListElementContinuationElement947, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 894, col: 5, offset: 28538}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement951, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement957, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement961, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 879, col: 5, offset: 28151}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 879, col: 9, offset: 28155}, + expr: &choiceExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 886, col: 5, offset: 28352}, + label: "end", + expr: &actionExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + run: (*parser).callonListElementContinuationElement973, + expr: &seqExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 765, col: 5, offset: 24689}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + run: (*parser).callonListElementContinuationElement976, + expr: &seqExpr{ + pos: position{line: 765, col: 16, offset: 24700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 765, col: 16, offset: 24700}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 765, col: 22, offset: 24706}, + expr: &litMatcher{ + pos: position{line: 765, col: 22, offset: 24706}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 767, col: 8, offset: 24790}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement982, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement985, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 887, col: 5, offset: 28382}, + run: (*parser).callonListElementContinuationElement992, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1512, col: 13, offset: 49199}, - run: (*parser).callonExtraListElement33, + pos: position{line: 902, col: 5, offset: 28693}, + run: (*parser).callonListElementContinuationElement995, expr: &seqExpr{ - pos: position{line: 1512, col: 13, offset: 49199}, + pos: position{line: 902, col: 5, offset: 28693}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1512, col: 13, offset: 49199}, - expr: &ruleRefExpr{ - pos: position{line: 1512, col: 13, offset: 49199}, - name: "BlankLine", + &labeledExpr{ + pos: position{line: 902, col: 5, offset: 28693}, + label: "start", + expr: &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonListElementContinuationElement998, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonListElementContinuationElement1001, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1007, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1010, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, + &andCodeExpr{ + pos: position{line: 903, col: 5, offset: 28732}, + run: (*parser).callonListElementContinuationElement1017, + }, &labeledExpr{ - pos: position{line: 1513, col: 13, offset: 49223}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1513, col: 21, offset: 49231}, - name: "CalloutListElement", + pos: position{line: 906, col: 5, offset: 28824}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 921, col: 5, offset: 29222}, + expr: &actionExpr{ + pos: position{line: 921, col: 6, offset: 29223}, + run: (*parser).callonListElementContinuationElement1020, + expr: &seqExpr{ + pos: position{line: 921, col: 6, offset: 29223}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 921, col: 6, offset: 29223}, + expr: &choiceExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + label: "end", + expr: &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonListElementContinuationElement1026, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonListElementContinuationElement1029, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1035, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1038, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 915, col: 5, offset: 29095}, + run: (*parser).callonListElementContinuationElement1045, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 922, col: 5, offset: 29253}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement1049, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement1055, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1059, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 907, col: 5, offset: 28858}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 907, col: 9, offset: 28862}, + expr: &choiceExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 914, col: 5, offset: 29064}, + label: "end", + expr: &actionExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + run: (*parser).callonListElementContinuationElement1071, + expr: &seqExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 780, col: 5, offset: 25226}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + run: (*parser).callonListElementContinuationElement1074, + expr: &seqExpr{ + pos: position{line: 780, col: 16, offset: 25237}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 16, offset: 25237}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 23, offset: 25244}, + expr: &litMatcher{ + pos: position{line: 780, col: 23, offset: 25244}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 782, col: 8, offset: 25328}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1080, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1083, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 915, col: 5, offset: 29095}, + run: (*parser).callonListElementContinuationElement1090, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1516, col: 13, offset: 49315}, - run: (*parser).callonExtraListElement39, + pos: position{line: 930, col: 5, offset: 29408}, + run: (*parser).callonListElementContinuationElement1093, expr: &seqExpr{ - pos: position{line: 1516, col: 13, offset: 49315}, + pos: position{line: 930, col: 5, offset: 29408}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1516, col: 13, offset: 49315}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1516, col: 24, offset: 49326}, - expr: &ruleRefExpr{ - pos: position{line: 1516, col: 25, offset: 49327}, - name: "BlockAttributes", + pos: position{line: 930, col: 5, offset: 29408}, + label: "start", + expr: &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonListElementContinuationElement1096, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonListElementContinuationElement1099, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1105, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1108, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, }, + &andCodeExpr{ + pos: position{line: 931, col: 5, offset: 29447}, + run: (*parser).callonListElementContinuationElement1115, + }, &labeledExpr{ - pos: position{line: 1517, col: 13, offset: 49358}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1517, col: 21, offset: 49366}, - name: "CalloutListElement", + pos: position{line: 934, col: 5, offset: 29539}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 949, col: 5, offset: 29937}, + expr: &actionExpr{ + pos: position{line: 949, col: 6, offset: 29938}, + run: (*parser).callonListElementContinuationElement1118, + expr: &seqExpr{ + pos: position{line: 949, col: 6, offset: 29938}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 949, col: 6, offset: 29938}, + expr: &choiceExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + label: "end", + expr: &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonListElementContinuationElement1124, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonListElementContinuationElement1127, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1133, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1136, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 943, col: 5, offset: 29810}, + run: (*parser).callonListElementContinuationElement1143, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 950, col: 5, offset: 29968}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement1147, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement1153, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1157, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1520, col: 11, offset: 49484}, - name: "ListElementContinuation", + &labeledExpr{ + pos: position{line: 935, col: 5, offset: 29573}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 935, col: 9, offset: 29577}, + expr: &choiceExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 942, col: 5, offset: 29779}, + label: "end", + expr: &actionExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + run: (*parser).callonListElementContinuationElement1169, + expr: &seqExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 787, col: 5, offset: 25474}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + run: (*parser).callonListElementContinuationElement1172, + expr: &seqExpr{ + pos: position{line: 787, col: 16, offset: 25485}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 787, col: 16, offset: 25485}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 787, col: 23, offset: 25492}, + expr: &litMatcher{ + pos: position{line: 787, col: 23, offset: 25492}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 789, col: 8, offset: 25576}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1178, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1181, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 943, col: 5, offset: 29810}, + run: (*parser).callonListElementContinuationElement1188, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, }, &actionExpr{ - pos: position{line: 1521, col: 13, offset: 49520}, - run: (*parser).callonExtraListElement47, + pos: position{line: 981, col: 5, offset: 30851}, + run: (*parser).callonListElementContinuationElement1191, expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 49520}, + pos: position{line: 981, col: 5, offset: 30851}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1521, col: 13, offset: 49520}, - expr: &ruleRefExpr{ - pos: position{line: 1521, col: 13, offset: 49520}, - name: "BlankLine", + &labeledExpr{ + pos: position{line: 981, col: 5, offset: 30851}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 988, col: 5, offset: 31110}, + run: (*parser).callonListElementContinuationElement1194, + expr: &seqExpr{ + pos: position{line: 988, col: 5, offset: 31110}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 988, col: 5, offset: 31110}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement1197, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1203, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1206, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 989, col: 5, offset: 31125}, + val: "> ", + ignoreCase: false, + want: "\"> \"", + }, + &labeledExpr{ + pos: position{line: 990, col: 5, offset: 31135}, + label: "content", + expr: &actionExpr{ + pos: position{line: 990, col: 14, offset: 31144}, + run: (*parser).callonListElementContinuationElement1215, + expr: &oneOrMoreExpr{ + pos: position{line: 990, col: 15, offset: 31145}, + expr: &charClassMatcher{ + pos: position{line: 990, col: 15, offset: 31145}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1219, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, &labeledExpr{ - pos: position{line: 1522, col: 13, offset: 49544}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1522, col: 21, offset: 49552}, - name: "LabeledListElement", + pos: position{line: 982, col: 5, offset: 30888}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 982, col: 16, offset: 30899}, + expr: &choiceExpr{ + pos: position{line: 982, col: 17, offset: 30900}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 988, col: 5, offset: 31110}, + run: (*parser).callonListElementContinuationElement1229, + expr: &seqExpr{ + pos: position{line: 988, col: 5, offset: 31110}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 988, col: 5, offset: 31110}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement1232, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1238, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1241, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 989, col: 5, offset: 31125}, + val: "> ", + ignoreCase: false, + want: "\"> \"", + }, + &labeledExpr{ + pos: position{line: 990, col: 5, offset: 31135}, + label: "content", + expr: &actionExpr{ + pos: position{line: 990, col: 14, offset: 31144}, + run: (*parser).callonListElementContinuationElement1250, + expr: &oneOrMoreExpr{ + pos: position{line: 990, col: 15, offset: 31145}, + expr: &charClassMatcher{ + pos: position{line: 990, col: 15, offset: 31145}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1254, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonListElementContinuationElement1261, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonListElementContinuationElement1264, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonListElementContinuationElement1267, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1269, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1525, col: 13, offset: 49636}, - run: (*parser).callonExtraListElement53, + pos: position{line: 1007, col: 5, offset: 31503}, + run: (*parser).callonListElementContinuationElement1276, expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 49636}, + pos: position{line: 1007, col: 5, offset: 31503}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1525, col: 13, offset: 49636}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 24, offset: 49647}, - expr: &ruleRefExpr{ - pos: position{line: 1525, col: 25, offset: 49648}, - name: "BlockAttributes", + pos: position{line: 1007, col: 5, offset: 31503}, + label: "start", + expr: &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonListElementContinuationElement1279, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonListElementContinuationElement1282, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1288, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1291, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, }, + &andCodeExpr{ + pos: position{line: 1008, col: 5, offset: 31546}, + run: (*parser).callonListElementContinuationElement1298, + }, &labeledExpr{ - pos: position{line: 1526, col: 13, offset: 49679}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1526, col: 21, offset: 49687}, - name: "LabeledListElement", + pos: position{line: 1011, col: 5, offset: 31638}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1026, col: 5, offset: 32068}, + expr: &actionExpr{ + pos: position{line: 1026, col: 6, offset: 32069}, + run: (*parser).callonListElementContinuationElement1301, + expr: &seqExpr{ + pos: position{line: 1026, col: 6, offset: 32069}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1026, col: 6, offset: 32069}, + expr: &choiceExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + label: "end", + expr: &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonListElementContinuationElement1307, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonListElementContinuationElement1310, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1316, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1319, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1020, col: 5, offset: 31937}, + run: (*parser).callonListElementContinuationElement1326, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1027, col: 5, offset: 32103}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement1330, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement1336, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1340, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1012, col: 5, offset: 31676}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 1012, col: 9, offset: 31680}, + expr: &choiceExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1019, col: 5, offset: 31902}, + label: "end", + expr: &actionExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + run: (*parser).callonListElementContinuationElement1352, + expr: &seqExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 794, col: 5, offset: 25726}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + run: (*parser).callonListElementContinuationElement1355, + expr: &seqExpr{ + pos: position{line: 794, col: 16, offset: 25737}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 794, col: 16, offset: 25737}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 794, col: 23, offset: 25744}, + expr: &litMatcher{ + pos: position{line: 794, col: 23, offset: 25744}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 796, col: 8, offset: 25828}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1361, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1364, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1020, col: 5, offset: 31937}, + run: (*parser).callonListElementContinuationElement1371, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1529, col: 11, offset: 49805}, - name: "SingleLineComment", - }, &actionExpr{ - pos: position{line: 1530, col: 13, offset: 49835}, - run: (*parser).callonExtraListElement61, + pos: position{line: 1035, col: 5, offset: 32254}, + run: (*parser).callonListElementContinuationElement1374, expr: &seqExpr{ - pos: position{line: 1530, col: 13, offset: 49835}, + pos: position{line: 1035, col: 5, offset: 32254}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1530, col: 13, offset: 49835}, - expr: &ruleRefExpr{ - pos: position{line: 1530, col: 13, offset: 49835}, - name: "BlankLine", + &labeledExpr{ + pos: position{line: 1035, col: 5, offset: 32254}, + label: "start", + expr: &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonListElementContinuationElement1377, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonListElementContinuationElement1380, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1386, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1389, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, + &andCodeExpr{ + pos: position{line: 1036, col: 5, offset: 32291}, + run: (*parser).callonListElementContinuationElement1396, + }, &labeledExpr{ - pos: position{line: 1531, col: 13, offset: 49858}, - label: "attributes", + pos: position{line: 1039, col: 5, offset: 32383}, + label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1531, col: 24, offset: 49869}, - expr: &ruleRefExpr{ - pos: position{line: 1531, col: 25, offset: 49870}, - name: "BlockAttributes", + pos: position{line: 1054, col: 4, offset: 32764}, + expr: &actionExpr{ + pos: position{line: 1054, col: 5, offset: 32765}, + run: (*parser).callonListElementContinuationElement1399, + expr: &seqExpr{ + pos: position{line: 1054, col: 5, offset: 32765}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1054, col: 5, offset: 32765}, + expr: &choiceExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + label: "end", + expr: &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonListElementContinuationElement1405, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonListElementContinuationElement1408, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1414, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1417, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1048, col: 5, offset: 32640}, + run: (*parser).callonListElementContinuationElement1424, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1055, col: 5, offset: 32793}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement1428, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement1434, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1438, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, &labeledExpr{ - pos: position{line: 1532, col: 13, offset: 49901}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1532, col: 21, offset: 49909}, - name: "LiteralParagraph", + pos: position{line: 1040, col: 5, offset: 32415}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 1040, col: 9, offset: 32419}, + expr: &choiceExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1047, col: 5, offset: 32611}, + label: "end", + expr: &actionExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + run: (*parser).callonListElementContinuationElement1450, + expr: &seqExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 801, col: 5, offset: 25976}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + run: (*parser).callonListElementContinuationElement1453, + expr: &seqExpr{ + pos: position{line: 801, col: 16, offset: 25987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 801, col: 16, offset: 25987}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 801, col: 23, offset: 25994}, + expr: &litMatcher{ + pos: position{line: 801, col: 23, offset: 25994}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 803, col: 8, offset: 26078}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1459, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1462, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1048, col: 5, offset: 32640}, + run: (*parser).callonListElementContinuationElement1469, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1544, col: 13, offset: 50448}, - run: (*parser).callonExtraListElement70, - expr: &labeledExpr{ - pos: position{line: 1544, col: 13, offset: 50448}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 1544, col: 21, offset: 50456}, - name: "ListElementParagraphLine", + pos: position{line: 1063, col: 5, offset: 32948}, + run: (*parser).callonListElementContinuationElement1472, + expr: &seqExpr{ + pos: position{line: 1063, col: 5, offset: 32948}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1063, col: 5, offset: 32948}, + label: "start", + expr: &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonListElementContinuationElement1475, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonListElementContinuationElement1478, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1484, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1487, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1064, col: 5, offset: 32987}, + run: (*parser).callonListElementContinuationElement1494, + }, + &labeledExpr{ + pos: position{line: 1067, col: 5, offset: 33079}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1082, col: 4, offset: 33476}, + expr: &actionExpr{ + pos: position{line: 1082, col: 5, offset: 33477}, + run: (*parser).callonListElementContinuationElement1497, + expr: &seqExpr{ + pos: position{line: 1082, col: 5, offset: 33477}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1082, col: 5, offset: 33477}, + expr: &choiceExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + label: "end", + expr: &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonListElementContinuationElement1503, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonListElementContinuationElement1506, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1512, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1515, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1076, col: 5, offset: 33350}, + run: (*parser).callonListElementContinuationElement1522, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1083, col: 5, offset: 33507}, + label: "line", + expr: &actionExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + run: (*parser).callonListElementContinuationElement1526, + expr: &seqExpr{ + pos: position{line: 815, col: 5, offset: 26470}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 815, col: 5, offset: 26470}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 816, col: 5, offset: 26543}, + label: "content", + expr: &actionExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + run: (*parser).callonListElementContinuationElement1532, + expr: &zeroOrMoreExpr{ + pos: position{line: 816, col: 14, offset: 26552}, + expr: &charClassMatcher{ + pos: position{line: 816, col: 14, offset: 26552}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1536, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1068, col: 5, offset: 33113}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 1068, col: 9, offset: 33117}, + expr: &choiceExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1075, col: 5, offset: 33319}, + label: "end", + expr: &actionExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + run: (*parser).callonListElementContinuationElement1548, + expr: &seqExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 808, col: 5, offset: 26222}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + run: (*parser).callonListElementContinuationElement1551, + expr: &seqExpr{ + pos: position{line: 808, col: 16, offset: 26233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 808, col: 16, offset: 26233}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 808, col: 23, offset: 26240}, + expr: &litMatcher{ + pos: position{line: 808, col: 23, offset: 26240}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 810, col: 8, offset: 26324}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1557, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1560, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1076, col: 5, offset: 33350}, + run: (*parser).callonListElementContinuationElement1567, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ListElementParagraphLine", - pos: position{line: 1551, col: 1, offset: 50616}, - expr: &choiceExpr{ - pos: position{line: 1552, col: 5, offset: 50649}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1552, col: 5, offset: 50649}, - run: (*parser).callonListElementParagraphLine2, - expr: &ruleRefExpr{ - pos: position{line: 1552, col: 5, offset: 50649}, - name: "SingleLineComment", - }, - }, - &actionExpr{ - pos: position{line: 1556, col: 9, offset: 50802}, - run: (*parser).callonListElementParagraphLine4, - expr: &seqExpr{ - pos: position{line: 1556, col: 9, offset: 50802}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1556, col: 9, offset: 50802}, - expr: &ruleRefExpr{ - pos: position{line: 1556, col: 10, offset: 50803}, - name: "BlankLine", - }, - }, - ¬Expr{ - pos: position{line: 1557, col: 9, offset: 50821}, - expr: &ruleRefExpr{ - pos: position{line: 1557, col: 10, offset: 50822}, - name: "ListElementContinuationMarker", - }, - }, - ¬Expr{ - pos: position{line: 1558, col: 9, offset: 50860}, - expr: &ruleRefExpr{ - pos: position{line: 1558, col: 10, offset: 50861}, - name: "OrderedListElementPrefix", - }, - }, - ¬Expr{ - pos: position{line: 1559, col: 9, offset: 50894}, - expr: &ruleRefExpr{ - pos: position{line: 1559, col: 10, offset: 50895}, - name: "UnorderedListElementPrefix", - }, - }, - ¬Expr{ - pos: position{line: 1560, col: 9, offset: 50930}, - expr: &ruleRefExpr{ - pos: position{line: 1560, col: 10, offset: 50931}, - name: "CalloutListElementPrefix", - }, - }, - ¬Expr{ - pos: position{line: 1561, col: 9, offset: 50964}, - expr: &seqExpr{ - pos: position{line: 1561, col: 11, offset: 50966}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1561, col: 11, offset: 50966}, - name: "LabeledListElementTerm", - }, - &ruleRefExpr{ - pos: position{line: 1561, col: 34, offset: 50989}, - name: "LabeledListElementSeparator", + &actionExpr{ + pos: position{line: 2988, col: 18, offset: 96597}, + run: (*parser).callonListElementContinuationElement1570, + expr: &seqExpr{ + pos: position{line: 2988, col: 18, offset: 96597}, + exprs: []interface{}{ + &choiceExpr{ + pos: position{line: 2989, col: 9, offset: 96607}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2989, col: 9, offset: 96607}, + val: "'''", + ignoreCase: false, + want: "\"'''\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 11, offset: 96643}, + val: "***", + ignoreCase: false, + want: "\"***\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 19, offset: 96651}, + val: "* * *", + ignoreCase: false, + want: "\"* * *\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 29, offset: 96661}, + val: "---", + ignoreCase: false, + want: "\"---\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 37, offset: 96669}, + val: "- - -", + ignoreCase: false, + want: "\"- - -\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 47, offset: 96679}, + val: "___", + ignoreCase: false, + want: "\"___\"", + }, + &litMatcher{ + pos: position{line: 2990, col: 55, offset: 96687}, + val: "_ _ _", + ignoreCase: false, + want: "\"_ _ _\"", + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 2991, col: 11, offset: 96745}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1581, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1584, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1592, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, - }, - ¬Expr{ - pos: position{line: 1562, col: 9, offset: 51026}, - expr: &ruleRefExpr{ - pos: position{line: 1562, col: 10, offset: 51027}, - name: "BlockDelimiter", - }, - }, - &labeledExpr{ - pos: position{line: 1563, col: 9, offset: 51050}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1563, col: 18, offset: 51059}, - run: (*parser).callonListElementParagraphLine23, - expr: &oneOrMoreExpr{ - pos: position{line: 1563, col: 18, offset: 51059}, - expr: &charClassMatcher{ - pos: position{line: 1563, col: 18, offset: 51059}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + &ruleRefExpr{ + pos: position{line: 1602, col: 11, offset: 52136}, + name: "ImageBlock", }, - }, - &ruleRefExpr{ - pos: position{line: 1566, col: 9, offset: 51147}, - name: "EOL", - }, - }, - }, - }, - }, - }, - }, - { - name: "ListElementContent", - pos: position{line: 1571, col: 1, offset: 51255}, - expr: &actionExpr{ - pos: position{line: 1572, col: 5, offset: 51282}, - run: (*parser).callonListElementContent1, - expr: &seqExpr{ - pos: position{line: 1572, col: 5, offset: 51282}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1572, col: 5, offset: 51282}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1572, col: 14, offset: 51291}, - run: (*parser).callonListElementContent4, - expr: &oneOrMoreExpr{ - pos: position{line: 1572, col: 14, offset: 51291}, - expr: &charClassMatcher{ - pos: position{line: 1572, col: 14, offset: 51291}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1575, col: 5, offset: 51361}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "ListElementContinuation", - pos: position{line: 1582, col: 1, offset: 51509}, - expr: &actionExpr{ - pos: position{line: 1583, col: 5, offset: 51541}, - run: (*parser).callonListElementContinuation1, - expr: &seqExpr{ - pos: position{line: 1583, col: 5, offset: 51541}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1583, col: 5, offset: 51541}, - label: "offset", - expr: &zeroOrMoreExpr{ - pos: position{line: 1583, col: 12, offset: 51548}, - expr: &seqExpr{ - pos: position{line: 1583, col: 13, offset: 51549}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1583, col: 13, offset: 51549}, - expr: &ruleRefExpr{ - pos: position{line: 1583, col: 13, offset: 51549}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 1583, col: 20, offset: 51556}, - name: "Newline", - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1584, col: 5, offset: 51571}, - name: "ListElementContinuationMarker", - }, - &labeledExpr{ - pos: position{line: 1585, col: 5, offset: 51605}, - label: "element", - expr: &zeroOrOneExpr{ - pos: position{line: 1585, col: 13, offset: 51613}, - expr: &ruleRefExpr{ - pos: position{line: 1585, col: 13, offset: 51613}, - name: "ListElementContinuationElement", - }, - }, - }, - }, - }, - }, - }, - { - name: "ListElementContinuationMarker", - pos: position{line: 1590, col: 1, offset: 51748}, - expr: &seqExpr{ - pos: position{line: 1590, col: 34, offset: 51781}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1590, col: 34, offset: 51781}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1590, col: 38, offset: 51785}, - expr: &ruleRefExpr{ - pos: position{line: 1590, col: 38, offset: 51785}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 1590, col: 45, offset: 51792}, - name: "Newline", - }, - }, - }, - }, - { - name: "ListElementContinuationElement", - pos: position{line: 1592, col: 1, offset: 51801}, - expr: &actionExpr{ - pos: position{line: 1593, col: 5, offset: 51879}, - run: (*parser).callonListElementContinuationElement1, - expr: &seqExpr{ - pos: position{line: 1593, col: 5, offset: 51879}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1593, col: 5, offset: 51879}, - expr: &ruleRefExpr{ - pos: position{line: 1593, col: 6, offset: 51880}, - name: "EOF", - }, - }, - ¬Expr{ - pos: position{line: 1594, col: 5, offset: 51905}, - expr: &ruleRefExpr{ - pos: position{line: 1594, col: 6, offset: 51906}, - name: "ListElement", - }, - }, - &labeledExpr{ - pos: position{line: 1595, col: 5, offset: 51922}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1595, col: 16, offset: 51933}, - expr: &ruleRefExpr{ - pos: position{line: 1595, col: 17, offset: 51934}, - name: "BlockAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 1596, col: 5, offset: 51956}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1597, col: 9, offset: 51974}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1597, col: 9, offset: 51974}, - name: "BlankLine", - }, - &ruleRefExpr{ - pos: position{line: 1598, col: 11, offset: 51994}, - name: "AttributeDeclaration", - }, - &ruleRefExpr{ - pos: position{line: 1599, col: 11, offset: 52025}, - name: "AttributeReset", - }, - &ruleRefExpr{ - pos: position{line: 1600, col: 11, offset: 52050}, - name: "DelimitedBlock", - }, - &ruleRefExpr{ - pos: position{line: 1601, col: 11, offset: 52075}, - name: "ThematicBreak", - }, - &ruleRefExpr{ - pos: position{line: 1602, col: 11, offset: 52136}, - name: "ImageBlock", - }, - &ruleRefExpr{ - pos: position{line: 1603, col: 11, offset: 52157}, - name: "Table", - }, - &ruleRefExpr{ - pos: position{line: 1604, col: 11, offset: 52173}, - name: "SingleLineComment", - }, - &ruleRefExpr{ - pos: position{line: 1605, col: 11, offset: 52201}, - name: "AdmonitionParagraph", - }, - &ruleRefExpr{ - pos: position{line: 1606, col: 11, offset: 52231}, - name: "LiteralParagraph", - }, - &ruleRefExpr{ - pos: position{line: 1607, col: 11, offset: 52258}, - name: "ListContinuationParagraph", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ListContinuationParagraph", - pos: position{line: 1619, col: 1, offset: 52728}, - expr: &actionExpr{ - pos: position{line: 1620, col: 5, offset: 52762}, - run: (*parser).callonListContinuationParagraph1, - expr: &seqExpr{ - pos: position{line: 1620, col: 5, offset: 52762}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1620, col: 5, offset: 52762}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1620, col: 14, offset: 52771}, - run: (*parser).callonListContinuationParagraph4, - expr: &oneOrMoreExpr{ - pos: position{line: 1620, col: 14, offset: 52771}, - expr: &charClassMatcher{ - pos: position{line: 1620, col: 14, offset: 52771}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1623, col: 5, offset: 52828}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "OrderedListElement", - pos: position{line: 1630, col: 1, offset: 53020}, - expr: &actionExpr{ - pos: position{line: 1631, col: 5, offset: 53047}, - run: (*parser).callonOrderedListElement1, - expr: &seqExpr{ - pos: position{line: 1631, col: 5, offset: 53047}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1631, col: 5, offset: 53047}, - label: "prefix", - expr: &ruleRefExpr{ - pos: position{line: 1631, col: 13, offset: 53055}, - name: "OrderedListElementPrefix", - }, - }, - &labeledExpr{ - pos: position{line: 1632, col: 5, offset: 53086}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 1632, col: 14, offset: 53095}, - name: "ListElementContent", - }, - }, - }, - }, - }, - }, - { - name: "OrderedListElementPrefix", - pos: position{line: 1637, col: 1, offset: 53222}, - expr: &actionExpr{ - pos: position{line: 1638, col: 5, offset: 53255}, - run: (*parser).callonOrderedListElementPrefix1, - expr: &seqExpr{ - pos: position{line: 1638, col: 5, offset: 53255}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1638, col: 5, offset: 53255}, - expr: &ruleRefExpr{ - pos: position{line: 1638, col: 5, offset: 53255}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 1638, col: 12, offset: 53262}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1640, col: 9, offset: 53325}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1640, col: 9, offset: 53325}, - run: (*parser).callonOrderedListElementPrefix7, + pos: position{line: 2886, col: 5, offset: 93726}, + run: (*parser).callonListElementContinuationElement1600, expr: &seqExpr{ - pos: position{line: 1640, col: 9, offset: 53325}, + pos: position{line: 2886, col: 5, offset: 93726}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1640, col: 9, offset: 53325}, - label: "depth", + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, expr: &actionExpr{ - pos: position{line: 1640, col: 16, offset: 53332}, - run: (*parser).callonOrderedListElementPrefix10, - expr: &oneOrMoreExpr{ - pos: position{line: 1640, col: 16, offset: 53332}, - expr: &litMatcher{ - pos: position{line: 1640, col: 17, offset: 53333}, - val: ".", - ignoreCase: false, - want: "\".\"", + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1604, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1607, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1644, col: 9, offset: 53433}, - run: (*parser).callonOrderedListElementPrefix13, + &labeledExpr{ + pos: position{line: 2887, col: 5, offset: 93750}, + label: "header", + expr: &zeroOrOneExpr{ + pos: position{line: 2887, col: 12, offset: 93757}, + expr: &actionExpr{ + pos: position{line: 2902, col: 5, offset: 94070}, + run: (*parser).callonListElementContinuationElement1616, + expr: &seqExpr{ + pos: position{line: 2902, col: 5, offset: 94070}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2902, col: 5, offset: 94070}, + label: "cells", + expr: &oneOrMoreExpr{ + pos: position{line: 2902, col: 11, offset: 94076}, + expr: &actionExpr{ + pos: position{line: 2908, col: 5, offset: 94193}, + run: (*parser).callonListElementContinuationElement1620, + expr: &seqExpr{ + pos: position{line: 2908, col: 5, offset: 94193}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2908, col: 5, offset: 94193}, + val: "|", + ignoreCase: false, + want: "\"|\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2908, col: 9, offset: 94197}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1624, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2909, col: 5, offset: 94209}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 2909, col: 14, offset: 94218}, + expr: &actionExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + run: (*parser).callonListElementContinuationElement1628, + expr: &labeledExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + run: (*parser).callonListElementContinuationElement1630, + expr: &oneOrMoreExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + expr: &charClassMatcher{ + pos: position{line: 2941, col: 14, offset: 95015}, + val: "[^\\r\\n|]", + chars: []rune{'\r', '\n', '|'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1634, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 2903, col: 5, offset: 94098}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement1642, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1648, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1651, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1663, col: 11, offset: 54150}, - run: (*parser).callonOrderedListElementPrefix14, - expr: &seqExpr{ - pos: position{line: 1663, col: 11, offset: 54150}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1663, col: 11, offset: 54150}, - expr: &charClassMatcher{ - pos: position{line: 1663, col: 12, offset: 54151}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 2888, col: 5, offset: 93776}, + label: "rows", + expr: &zeroOrMoreExpr{ + pos: position{line: 2888, col: 10, offset: 93781}, + expr: &choiceExpr{ + pos: position{line: 2913, col: 13, offset: 94315}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2923, col: 5, offset: 94534}, + run: (*parser).callonListElementContinuationElement1661, + expr: &seqExpr{ + pos: position{line: 2923, col: 5, offset: 94534}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2923, col: 5, offset: 94534}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1668, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1671, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2924, col: 5, offset: 94557}, + label: "cells", + expr: &oneOrMoreExpr{ + pos: position{line: 2924, col: 11, offset: 94563}, + expr: &actionExpr{ + pos: position{line: 2924, col: 12, offset: 94564}, + run: (*parser).callonListElementContinuationElement1682, + expr: &seqExpr{ + pos: position{line: 2924, col: 12, offset: 94564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2924, col: 12, offset: 94564}, + label: "cell", + expr: &actionExpr{ + pos: position{line: 2933, col: 5, offset: 94805}, + run: (*parser).callonListElementContinuationElement1685, + expr: &seqExpr{ + pos: position{line: 2933, col: 5, offset: 94805}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2933, col: 5, offset: 94805}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1692, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1695, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2934, col: 5, offset: 94828}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement1705, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1711, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1714, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2935, col: 5, offset: 94843}, + val: "|", + ignoreCase: false, + want: "\"|\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2935, col: 9, offset: 94847}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1723, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2935, col: 16, offset: 94854}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 2935, col: 25, offset: 94863}, + expr: &actionExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + run: (*parser).callonListElementContinuationElement1727, + expr: &labeledExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + run: (*parser).callonListElementContinuationElement1729, + expr: &oneOrMoreExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + expr: &charClassMatcher{ + pos: position{line: 2941, col: 14, offset: 95015}, + val: "[^\\r\\n|]", + chars: []rune{'\r', '\n', '|'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1733, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2927, col: 6, offset: 94626}, + alternatives: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2927, col: 6, offset: 94626}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement1742, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1748, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1751, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2927, col: 19, offset: 94639}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1763, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1766, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2916, col: 5, offset: 94382}, + run: (*parser).callonListElementContinuationElement1775, + expr: &seqExpr{ + pos: position{line: 2916, col: 5, offset: 94382}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2916, col: 5, offset: 94382}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1782, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1785, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2917, col: 5, offset: 94405}, + label: "cells", + expr: &oneOrMoreExpr{ + pos: position{line: 2917, col: 11, offset: 94411}, + expr: &actionExpr{ + pos: position{line: 2933, col: 5, offset: 94805}, + run: (*parser).callonListElementContinuationElement1796, + expr: &seqExpr{ + pos: position{line: 2933, col: 5, offset: 94805}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2933, col: 5, offset: 94805}, + expr: &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1803, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1806, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2934, col: 5, offset: 94828}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement1816, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1822, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1825, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2935, col: 5, offset: 94843}, + val: "|", + ignoreCase: false, + want: "\"|\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2935, col: 9, offset: 94847}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1834, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2935, col: 16, offset: 94854}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 2935, col: 25, offset: 94863}, + expr: &actionExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + run: (*parser).callonListElementContinuationElement1838, + expr: &labeledExpr{ + pos: position{line: 2941, col: 5, offset: 95006}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + run: (*parser).callonListElementContinuationElement1840, + expr: &oneOrMoreExpr{ + pos: position{line: 2941, col: 14, offset: 95015}, + expr: &charClassMatcher{ + pos: position{line: 2941, col: 14, offset: 95015}, + val: "[^\\r\\n|]", + chars: []rune{'\r', '\n', '|'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1844, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 2918, col: 5, offset: 94432}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonListElementContinuationElement1852, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1858, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1861, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, - &litMatcher{ - pos: position{line: 1663, col: 20, offset: 54159}, - val: ".", - ignoreCase: false, - want: "\".\"", + &choiceExpr{ + pos: position{line: 2898, col: 22, offset: 93983}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2894, col: 19, offset: 93903}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2894, col: 19, offset: 93903}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2894, col: 26, offset: 93910}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1872, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1875, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, }, &actionExpr{ - pos: position{line: 1665, col: 13, offset: 54276}, - run: (*parser).callonOrderedListElementPrefix19, + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonListElementContinuationElement1884, expr: &seqExpr{ - pos: position{line: 1665, col: 13, offset: 54276}, + pos: position{line: 2774, col: 22, offset: 90653}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1665, col: 14, offset: 54277}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, &litMatcher{ - pos: position{line: 1665, col: 21, offset: 54284}, - val: ".", + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", ignoreCase: false, - want: "\".\"", + want: "\"//\"", }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1667, col: 13, offset: 54404}, - run: (*parser).callonOrderedListElementPrefix23, - expr: &seqExpr{ - pos: position{line: 1667, col: 13, offset: 54404}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1667, col: 14, offset: 54405}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, }, - &litMatcher{ - pos: position{line: 1667, col: 21, offset: 54412}, - val: ".", - ignoreCase: false, - want: "\".\"", + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonListElementContinuationElement1890, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1894, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, }, &actionExpr{ - pos: position{line: 1669, col: 13, offset: 54532}, - run: (*parser).callonOrderedListElementPrefix27, + pos: position{line: 1842, col: 5, offset: 60188}, + run: (*parser).callonListElementContinuationElement1901, expr: &seqExpr{ - pos: position{line: 1669, col: 13, offset: 54532}, + pos: position{line: 1842, col: 5, offset: 60188}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1669, col: 13, offset: 54532}, - expr: &charClassMatcher{ - pos: position{line: 1669, col: 14, offset: 54533}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 1842, col: 5, offset: 60188}, + label: "kind", + expr: &choiceExpr{ + pos: position{line: 293, col: 19, offset: 9062}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 293, col: 19, offset: 9062}, + run: (*parser).callonListElementContinuationElement1905, + expr: &litMatcher{ + pos: position{line: 293, col: 19, offset: 9062}, + val: "TIP", + ignoreCase: false, + want: "\"TIP\"", + }, + }, + &actionExpr{ + pos: position{line: 295, col: 5, offset: 9100}, + run: (*parser).callonListElementContinuationElement1907, + expr: &litMatcher{ + pos: position{line: 295, col: 5, offset: 9100}, + val: "NOTE", + ignoreCase: false, + want: "\"NOTE\"", + }, + }, + &actionExpr{ + pos: position{line: 297, col: 5, offset: 9140}, + run: (*parser).callonListElementContinuationElement1909, + expr: &litMatcher{ + pos: position{line: 297, col: 5, offset: 9140}, + val: "IMPORTANT", + ignoreCase: false, + want: "\"IMPORTANT\"", + }, + }, + &actionExpr{ + pos: position{line: 299, col: 5, offset: 9190}, + run: (*parser).callonListElementContinuationElement1911, + expr: &litMatcher{ + pos: position{line: 299, col: 5, offset: 9190}, + val: "WARNING", + ignoreCase: false, + want: "\"WARNING\"", + }, + }, + &actionExpr{ + pos: position{line: 301, col: 5, offset: 9236}, + run: (*parser).callonListElementContinuationElement1913, + expr: &litMatcher{ + pos: position{line: 301, col: 5, offset: 9236}, + val: "CAUTION", + ignoreCase: false, + want: "\"CAUTION\"", + }, + }, + }, }, }, &litMatcher{ - pos: position{line: 1669, col: 26, offset: 54545}, - val: ")", + pos: position{line: 1842, col: 27, offset: 60210}, + val: ": ", ignoreCase: false, - want: "\")\"", + want: "\": \"", + }, + &labeledExpr{ + pos: position{line: 1843, col: 5, offset: 60220}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonListElementContinuationElement1917, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonListElementContinuationElement1920, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonListElementContinuationElement1923, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1925, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1844, col: 5, offset: 60254}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 1844, col: 16, offset: 60265}, + expr: &actionExpr{ + pos: position{line: 1845, col: 9, offset: 60275}, + run: (*parser).callonListElementContinuationElement1934, + expr: &seqExpr{ + pos: position{line: 1845, col: 9, offset: 60275}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1845, col: 9, offset: 60275}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonListElementContinuationElement1940, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1942, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1846, col: 9, offset: 60314}, + label: "line", + expr: &choiceExpr{ + pos: position{line: 1846, col: 15, offset: 60320}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonListElementContinuationElement1949, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonListElementContinuationElement1955, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1959, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonListElementContinuationElement1966, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonListElementContinuationElement1969, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonListElementContinuationElement1972, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1974, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, &actionExpr{ - pos: position{line: 1671, col: 13, offset: 54665}, - run: (*parser).callonOrderedListElementPrefix32, + pos: position{line: 1865, col: 5, offset: 60846}, + run: (*parser).callonListElementContinuationElement1981, expr: &seqExpr{ - pos: position{line: 1671, col: 13, offset: 54665}, + pos: position{line: 1865, col: 5, offset: 60846}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1671, col: 13, offset: 54665}, - expr: &charClassMatcher{ - pos: position{line: 1671, col: 14, offset: 54666}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 1865, col: 5, offset: 60846}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + run: (*parser).callonListElementContinuationElement1984, + expr: &seqExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1872, col: 5, offset: 61131}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1872, col: 14, offset: 61140}, + run: (*parser).callonListElementContinuationElement1987, + expr: &seqExpr{ + pos: position{line: 1872, col: 14, offset: 61140}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonListElementContinuationElement1989, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 1872, col: 21, offset: 61147}, + expr: &charClassMatcher{ + pos: position{line: 1872, col: 21, offset: 61147}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1875, col: 5, offset: 61204}, + run: (*parser).callonListElementContinuationElement1994, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement1996, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, - &litMatcher{ - pos: position{line: 1671, col: 26, offset: 54678}, - val: ")", - ignoreCase: false, - want: "\")\"", + &labeledExpr{ + pos: position{line: 1866, col: 5, offset: 60887}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 1866, col: 16, offset: 60898}, + expr: &choiceExpr{ + pos: position{line: 1866, col: 17, offset: 60899}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonListElementContinuationElement2006, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonListElementContinuationElement2012, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement2016, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonListElementContinuationElement2023, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonListElementContinuationElement2026, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonListElementContinuationElement2029, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement2031, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1673, col: 12, offset: 54797}, - name: "Spaces", - }, - }, - }, - }, - }, - { - name: "UnorderedListElement", - pos: position{line: 1680, col: 1, offset: 54915}, - expr: &actionExpr{ - pos: position{line: 1681, col: 5, offset: 54944}, - run: (*parser).callonUnorderedListElement1, - expr: &seqExpr{ - pos: position{line: 1681, col: 5, offset: 54944}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1681, col: 5, offset: 54944}, - label: "prefix", - expr: &ruleRefExpr{ - pos: position{line: 1681, col: 13, offset: 54952}, - name: "UnorderedListElementPrefix", - }, - }, - &labeledExpr{ - pos: position{line: 1682, col: 5, offset: 54985}, - label: "checkstyle", - expr: &zeroOrOneExpr{ - pos: position{line: 1682, col: 16, offset: 54996}, - expr: &ruleRefExpr{ - pos: position{line: 1682, col: 17, offset: 54997}, - name: "UnorderedListElementCheckStyle", - }, - }, - }, - &labeledExpr{ - pos: position{line: 1683, col: 5, offset: 55035}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 1683, col: 14, offset: 55044}, - name: "ListElementContent", - }, - }, - }, - }, - }, - }, - { - name: "UnorderedListElementPrefix", - pos: position{line: 1687, col: 1, offset: 55182}, - expr: &actionExpr{ - pos: position{line: 1688, col: 5, offset: 55217}, - run: (*parser).callonUnorderedListElementPrefix1, - expr: &seqExpr{ - pos: position{line: 1688, col: 5, offset: 55217}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1688, col: 5, offset: 55217}, - expr: &ruleRefExpr{ - pos: position{line: 1688, col: 5, offset: 55217}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 1688, col: 12, offset: 55224}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1688, col: 20, offset: 55232}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1690, col: 9, offset: 55289}, - run: (*parser).callonUnorderedListElementPrefix7, + pos: position{line: 1620, col: 5, offset: 52762}, + run: (*parser).callonListElementContinuationElement2038, expr: &seqExpr{ - pos: position{line: 1690, col: 9, offset: 55289}, + pos: position{line: 1620, col: 5, offset: 52762}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1690, col: 9, offset: 55289}, - label: "depth", + pos: position{line: 1620, col: 5, offset: 52762}, + label: "content", expr: &actionExpr{ - pos: position{line: 1690, col: 16, offset: 55296}, - run: (*parser).callonUnorderedListElementPrefix10, + pos: position{line: 1620, col: 14, offset: 52771}, + run: (*parser).callonListElementContinuationElement2041, expr: &oneOrMoreExpr{ - pos: position{line: 1690, col: 16, offset: 55296}, - expr: &litMatcher{ - pos: position{line: 1690, col: 17, offset: 55297}, - val: "*", + pos: position{line: 1620, col: 14, offset: 52771}, + expr: &charClassMatcher{ + pos: position{line: 1620, col: 14, offset: 52771}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - want: "\"*\"", + inverted: true, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1694, col: 9, offset: 55397}, - run: (*parser).callonUnorderedListElementPrefix13, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonListElementContinuationElement2045, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, }, - &labeledExpr{ - pos: position{line: 1711, col: 14, offset: 56104}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1711, col: 21, offset: 56111}, - run: (*parser).callonUnorderedListElementPrefix15, - expr: &litMatcher{ - pos: position{line: 1711, col: 22, offset: 56112}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1713, col: 13, offset: 56198}, - name: "Spaces", - }, }, }, }, }, { - name: "UnorderedListElementCheckStyle", - pos: position{line: 1717, col: 1, offset: 56234}, + name: "Callout", + pos: position{line: 1778, col: 1, offset: 57944}, expr: &actionExpr{ - pos: position{line: 1718, col: 5, offset: 56273}, - run: (*parser).callonUnorderedListElementCheckStyle1, + pos: position{line: 1780, col: 5, offset: 58022}, + run: (*parser).callonCallout1, expr: &seqExpr{ - pos: position{line: 1718, col: 5, offset: 56273}, + pos: position{line: 1780, col: 5, offset: 58022}, exprs: []interface{}{ - &andExpr{ - pos: position{line: 1718, col: 5, offset: 56273}, - expr: &litMatcher{ - pos: position{line: 1718, col: 6, offset: 56274}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, + &andCodeExpr{ + pos: position{line: 1780, col: 5, offset: 58022}, + run: (*parser).callonCallout3, + }, + &litMatcher{ + pos: position{line: 1783, col: 5, offset: 58089}, + val: "<", + ignoreCase: false, + want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1718, col: 10, offset: 56278}, - label: "style", + pos: position{line: 1783, col: 9, offset: 58093}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1783, col: 14, offset: 58098}, + run: (*parser).callonCallout6, + expr: &oneOrMoreExpr{ + pos: position{line: 1783, col: 14, offset: 58098}, + expr: &charClassMatcher{ + pos: position{line: 1783, col: 14, offset: 58098}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1783, col: 62, offset: 58146}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1783, col: 66, offset: 58150}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonCallout11, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1783, col: 73, offset: 58157}, expr: &choiceExpr{ - pos: position{line: 1719, col: 7, offset: 56292}, + pos: position{line: 1783, col: 75, offset: 58159}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1719, col: 7, offset: 56292}, - run: (*parser).callonUnorderedListElementCheckStyle7, - expr: &litMatcher{ - pos: position{line: 1719, col: 7, offset: 56292}, - val: "[ ]", - ignoreCase: false, - want: "\"[ ]\"", + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonCallout15, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, }, - &actionExpr{ - pos: position{line: 1720, col: 7, offset: 56337}, - run: (*parser).callonUnorderedListElementCheckStyle9, - expr: &litMatcher{ - pos: position{line: 1720, col: 7, offset: 56337}, - val: "[*]", - ignoreCase: false, - want: "\"[*]\"", + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, }, }, - &actionExpr{ - pos: position{line: 1721, col: 7, offset: 56380}, - run: (*parser).callonUnorderedListElementCheckStyle11, - expr: &litMatcher{ - pos: position{line: 1721, col: 7, offset: 56380}, - val: "[x]", - ignoreCase: false, - want: "\"[x]\"", - }, + &ruleRefExpr{ + pos: position{line: 1783, col: 81, offset: 58165}, + name: "Callout", }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1722, col: 7, offset: 56422}, - name: "Spaces", - }, }, }, }, }, { - name: "LabeledListElement", - pos: position{line: 1729, col: 1, offset: 56546}, + name: "ShortcutParagraph", + pos: position{line: 1801, col: 1, offset: 58811}, expr: &actionExpr{ - pos: position{line: 1730, col: 5, offset: 56573}, - run: (*parser).callonLabeledListElement1, + pos: position{line: 1802, col: 5, offset: 58837}, + run: (*parser).callonShortcutParagraph1, expr: &seqExpr{ - pos: position{line: 1730, col: 5, offset: 56573}, + pos: position{line: 1802, col: 5, offset: 58837}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1730, col: 5, offset: 56573}, - label: "term", - expr: &ruleRefExpr{ - pos: position{line: 1730, col: 11, offset: 56579}, - name: "LabeledListElementTerm", - }, - }, - &labeledExpr{ - pos: position{line: 1731, col: 5, offset: 56608}, - label: "separator", - expr: &ruleRefExpr{ - pos: position{line: 1731, col: 16, offset: 56619}, - name: "LabeledListElementSeparator", - }, - }, - &labeledExpr{ - pos: position{line: 1732, col: 5, offset: 56653}, - label: "description", - expr: &ruleRefExpr{ - pos: position{line: 1732, col: 18, offset: 56666}, - name: "LabeledListElementDescription", + &andExpr{ + pos: position{line: 1802, col: 5, offset: 58837}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, - }, - }, - }, - }, - { - name: "LabeledListElementTerm", - pos: position{line: 1737, col: 1, offset: 56801}, - expr: &actionExpr{ - pos: position{line: 1738, col: 5, offset: 56832}, - run: (*parser).callonLabeledListElementTerm1, - expr: &oneOrMoreExpr{ - pos: position{line: 1738, col: 5, offset: 56832}, - expr: &seqExpr{ - pos: position{line: 1738, col: 6, offset: 56833}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1738, col: 6, offset: 56833}, - expr: &ruleRefExpr{ - pos: position{line: 1738, col: 7, offset: 56834}, - name: "LabeledListElementSeparator", - }, - }, - ¬Expr{ - pos: position{line: 1738, col: 35, offset: 56862}, - expr: &ruleRefExpr{ - pos: position{line: 1738, col: 36, offset: 56863}, - name: "EOL", - }, - }, - &anyMatcher{ - line: 1738, col: 40, offset: 56867, - }, - }, - }, - }, - }, - }, - { - name: "LabeledListElementSeparator", - pos: position{line: 1742, col: 1, offset: 56947}, - expr: &actionExpr{ - pos: position{line: 1743, col: 5, offset: 56983}, - run: (*parser).callonLabeledListElementSeparator1, - expr: &seqExpr{ - pos: position{line: 1743, col: 5, offset: 56983}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1743, col: 5, offset: 56983}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1743, col: 16, offset: 56994}, - run: (*parser).callonLabeledListElementSeparator4, - expr: &oneOrMoreExpr{ - pos: position{line: 1743, col: 16, offset: 56994}, - expr: &litMatcher{ - pos: position{line: 1743, col: 17, offset: 56995}, - val: ":", - ignoreCase: false, - want: "\":\"", + &andExpr{ + pos: position{line: 1803, col: 5, offset: 58948}, + expr: ¬Expr{ + pos: position{line: 1803, col: 7, offset: 58950}, + expr: &actionExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + run: (*parser).callonShortcutParagraph7, + expr: &seqExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1638, col: 5, offset: 53255}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonShortcutParagraph10, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1638, col: 12, offset: 53262}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + run: (*parser).callonShortcutParagraph14, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1640, col: 9, offset: 53325}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + run: (*parser).callonShortcutParagraph17, + expr: &oneOrMoreExpr{ + pos: position{line: 1640, col: 16, offset: 53332}, + expr: &litMatcher{ + pos: position{line: 1640, col: 17, offset: 53333}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1644, col: 9, offset: 53433}, + run: (*parser).callonShortcutParagraph20, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + run: (*parser).callonShortcutParagraph21, + expr: &seqExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1663, col: 11, offset: 54150}, + expr: &charClassMatcher{ + pos: position{line: 1663, col: 12, offset: 54151}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1663, col: 20, offset: 54159}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + run: (*parser).callonShortcutParagraph26, + expr: &seqExpr{ + pos: position{line: 1665, col: 13, offset: 54276}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1665, col: 14, offset: 54277}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1665, col: 21, offset: 54284}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + run: (*parser).callonShortcutParagraph30, + expr: &seqExpr{ + pos: position{line: 1667, col: 13, offset: 54404}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1667, col: 14, offset: 54405}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1667, col: 21, offset: 54412}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + run: (*parser).callonShortcutParagraph34, + expr: &seqExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1669, col: 13, offset: 54532}, + expr: &charClassMatcher{ + pos: position{line: 1669, col: 14, offset: 54533}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1669, col: 26, offset: 54545}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + run: (*parser).callonShortcutParagraph39, + expr: &seqExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1671, col: 13, offset: 54665}, + expr: &charClassMatcher{ + pos: position{line: 1671, col: 14, offset: 54666}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1671, col: 26, offset: 54678}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonShortcutParagraph44, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1746, col: 5, offset: 57052}, - run: (*parser).callonLabeledListElementSeparator7, - }, - }, - }, - }, - }, - { - name: "LabeledListElementDescription", - pos: position{line: 1753, col: 1, offset: 57264}, - expr: &choiceExpr{ - pos: position{line: 1754, col: 5, offset: 57302}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1756, col: 9, offset: 57367}, - run: (*parser).callonLabeledListElementDescription2, - expr: &seqExpr{ - pos: position{line: 1756, col: 9, offset: 57367}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1756, col: 9, offset: 57367}, - expr: &ruleRefExpr{ - pos: position{line: 1756, col: 9, offset: 57367}, - name: "Space", + &andExpr{ + pos: position{line: 1804, col: 5, offset: 58981}, + expr: ¬Expr{ + pos: position{line: 1804, col: 7, offset: 58983}, + expr: &actionExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + run: (*parser).callonShortcutParagraph49, + expr: &seqExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1688, col: 5, offset: 55217}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonShortcutParagraph52, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1688, col: 12, offset: 55224}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1688, col: 20, offset: 55232}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + run: (*parser).callonShortcutParagraph56, + expr: &seqExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1690, col: 9, offset: 55289}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + run: (*parser).callonShortcutParagraph59, + expr: &oneOrMoreExpr{ + pos: position{line: 1690, col: 16, offset: 55296}, + expr: &litMatcher{ + pos: position{line: 1690, col: 17, offset: 55297}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1694, col: 9, offset: 55397}, + run: (*parser).callonShortcutParagraph62, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1711, col: 14, offset: 56104}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1711, col: 21, offset: 56111}, + run: (*parser).callonShortcutParagraph64, + expr: &litMatcher{ + pos: position{line: 1711, col: 22, offset: 56112}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonShortcutParagraph66, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, - &ruleRefExpr{ - pos: position{line: 1756, col: 16, offset: 57374}, - name: "EOL", - }, - &zeroOrMoreExpr{ - pos: position{line: 1757, col: 9, offset: 57387}, - expr: &ruleRefExpr{ - pos: position{line: 1757, col: 9, offset: 57387}, - name: "BlankLine", + }, + }, + &andExpr{ + pos: position{line: 1805, col: 5, offset: 59016}, + expr: ¬Expr{ + pos: position{line: 1805, col: 7, offset: 59018}, + expr: &choiceExpr{ + pos: position{line: 293, col: 19, offset: 9062}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 293, col: 19, offset: 9062}, + run: (*parser).callonShortcutParagraph72, + expr: &litMatcher{ + pos: position{line: 293, col: 19, offset: 9062}, + val: "TIP", + ignoreCase: false, + want: "\"TIP\"", + }, + }, + &actionExpr{ + pos: position{line: 295, col: 5, offset: 9100}, + run: (*parser).callonShortcutParagraph74, + expr: &litMatcher{ + pos: position{line: 295, col: 5, offset: 9100}, + val: "NOTE", + ignoreCase: false, + want: "\"NOTE\"", + }, + }, + &actionExpr{ + pos: position{line: 297, col: 5, offset: 9140}, + run: (*parser).callonShortcutParagraph76, + expr: &litMatcher{ + pos: position{line: 297, col: 5, offset: 9140}, + val: "IMPORTANT", + ignoreCase: false, + want: "\"IMPORTANT\"", + }, + }, + &actionExpr{ + pos: position{line: 299, col: 5, offset: 9190}, + run: (*parser).callonShortcutParagraph78, + expr: &litMatcher{ + pos: position{line: 299, col: 5, offset: 9190}, + val: "WARNING", + ignoreCase: false, + want: "\"WARNING\"", + }, + }, + &actionExpr{ + pos: position{line: 301, col: 5, offset: 9236}, + run: (*parser).callonShortcutParagraph80, + expr: &litMatcher{ + pos: position{line: 301, col: 5, offset: 9236}, + val: "CAUTION", + ignoreCase: false, + want: "\"CAUTION\"", + }, + }, }, }, - &labeledExpr{ - pos: position{line: 1758, col: 9, offset: 57407}, - label: "content", - expr: &zeroOrOneExpr{ - pos: position{line: 1758, col: 17, offset: 57415}, - expr: &ruleRefExpr{ - pos: position{line: 1758, col: 18, offset: 57416}, - name: "ListElementParagraphLine", + }, + }, + &labeledExpr{ + pos: position{line: 1806, col: 5, offset: 59039}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonShortcutParagraph83, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonShortcutParagraph86, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonShortcutParagraph89, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonShortcutParagraph91, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 1766, col: 9, offset: 57650}, - run: (*parser).callonLabeledListElementDescription12, - expr: &seqExpr{ - pos: position{line: 1766, col: 9, offset: 57650}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1766, col: 9, offset: 57650}, - name: "Spaces", - }, - &labeledExpr{ - pos: position{line: 1767, col: 9, offset: 57702}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1767, col: 18, offset: 57711}, - run: (*parser).callonLabeledListElementDescription16, - expr: &oneOrMoreExpr{ - pos: position{line: 1767, col: 18, offset: 57711}, - expr: &charClassMatcher{ - pos: position{line: 1767, col: 18, offset: 57711}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, + &andCodeExpr{ + pos: position{line: 1807, col: 5, offset: 59073}, + run: (*parser).callonShortcutParagraph98, + }, + &labeledExpr{ + pos: position{line: 1814, col: 5, offset: 59435}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 1814, col: 16, offset: 59446}, + expr: &actionExpr{ + pos: position{line: 1815, col: 9, offset: 59456}, + run: (*parser).callonShortcutParagraph101, + expr: &seqExpr{ + pos: position{line: 1815, col: 9, offset: 59456}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1815, col: 9, offset: 59456}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + ¬Expr{ + pos: position{line: 1816, col: 9, offset: 59470}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonShortcutParagraph107, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonShortcutParagraph113, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonShortcutParagraph116, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1817, col: 9, offset: 59489}, + expr: &ruleRefExpr{ + pos: position{line: 1817, col: 10, offset: 59490}, + name: "BlockAttributes", + }, + }, + ¬Expr{ + pos: position{line: 1818, col: 9, offset: 59514}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonShortcutParagraph129, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonShortcutParagraph131, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1819, col: 9, offset: 59553}, + label: "line", + expr: &choiceExpr{ + pos: position{line: 1819, col: 15, offset: 59559}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonShortcutParagraph138, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonShortcutParagraph144, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonShortcutParagraph148, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonShortcutParagraph155, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonShortcutParagraph158, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonShortcutParagraph161, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonShortcutParagraph163, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1770, col: 9, offset: 57793}, - name: "EOL", - }, }, }, }, @@ -9125,378 +49312,396 @@ var g = &grammar{ }, }, { - name: "Callout", - pos: position{line: 1778, col: 1, offset: 57944}, + name: "Paragraph", + pos: position{line: 1826, col: 1, offset: 59756}, expr: &actionExpr{ - pos: position{line: 1780, col: 5, offset: 58022}, - run: (*parser).callonCallout1, + pos: position{line: 1827, col: 5, offset: 59774}, + run: (*parser).callonParagraph1, expr: &seqExpr{ - pos: position{line: 1780, col: 5, offset: 58022}, + pos: position{line: 1827, col: 5, offset: 59774}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1780, col: 5, offset: 58022}, - run: (*parser).callonCallout3, - }, - &litMatcher{ - pos: position{line: 1783, col: 5, offset: 58089}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1783, col: 9, offset: 58093}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1783, col: 14, offset: 58098}, - run: (*parser).callonCallout6, - expr: &oneOrMoreExpr{ - pos: position{line: 1783, col: 14, offset: 58098}, - expr: &charClassMatcher{ - pos: position{line: 1783, col: 14, offset: 58098}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1783, col: 62, offset: 58146}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1783, col: 66, offset: 58150}, - expr: &ruleRefExpr{ - pos: position{line: 1783, col: 66, offset: 58150}, - name: "Space", - }, - }, - &andExpr{ - pos: position{line: 1783, col: 73, offset: 58157}, - expr: &choiceExpr{ - pos: position{line: 1783, col: 75, offset: 58159}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1783, col: 75, offset: 58159}, - name: "EOL", - }, - &ruleRefExpr{ - pos: position{line: 1783, col: 81, offset: 58165}, - name: "Callout", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "CalloutListElement", - pos: position{line: 1787, col: 1, offset: 58226}, - expr: &actionExpr{ - pos: position{line: 1788, col: 5, offset: 58253}, - run: (*parser).callonCalloutListElement1, - expr: &seqExpr{ - pos: position{line: 1788, col: 5, offset: 58253}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1788, col: 5, offset: 58253}, - label: "ref", - expr: &ruleRefExpr{ - pos: position{line: 1788, col: 10, offset: 58258}, - name: "CalloutListElementPrefix", - }, - }, - &labeledExpr{ - pos: position{line: 1789, col: 5, offset: 58289}, - label: "description", - expr: &ruleRefExpr{ - pos: position{line: 1789, col: 18, offset: 58302}, - name: "CalloutListElementContent", - }, - }, - }, - }, - }, - }, - { - name: "CalloutListElementPrefix", - pos: position{line: 1793, col: 1, offset: 58421}, - expr: &actionExpr{ - pos: position{line: 1794, col: 5, offset: 58454}, - run: (*parser).callonCalloutListElementPrefix1, - expr: &seqExpr{ - pos: position{line: 1794, col: 5, offset: 58454}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1794, col: 5, offset: 58454}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1794, col: 9, offset: 58458}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1794, col: 14, offset: 58463}, - run: (*parser).callonCalloutListElementPrefix5, - expr: &oneOrMoreExpr{ - pos: position{line: 1794, col: 14, offset: 58463}, - expr: &charClassMatcher{ - pos: position{line: 1794, col: 14, offset: 58463}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1794, col: 62, offset: 58511}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - &ruleRefExpr{ - pos: position{line: 1794, col: 66, offset: 58515}, - name: "Spaces", - }, - }, - }, - }, - }, - { - name: "CalloutListElementContent", - pos: position{line: 1798, col: 1, offset: 58555}, - expr: &actionExpr{ - pos: position{line: 1799, col: 5, offset: 58637}, - run: (*parser).callonCalloutListElementContent1, - expr: &seqExpr{ - pos: position{line: 1799, col: 5, offset: 58637}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1799, col: 5, offset: 58637}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1799, col: 14, offset: 58646}, - run: (*parser).callonCalloutListElementContent4, - expr: &oneOrMoreExpr{ - pos: position{line: 1799, col: 14, offset: 58646}, - expr: &charClassMatcher{ - pos: position{line: 1799, col: 14, offset: 58646}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1802, col: 5, offset: 58703}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "ShortcutParagraph", - pos: position{line: 1809, col: 1, offset: 59026}, - expr: &actionExpr{ - pos: position{line: 1810, col: 5, offset: 59052}, - run: (*parser).callonShortcutParagraph1, - expr: &seqExpr{ - pos: position{line: 1810, col: 5, offset: 59052}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 1810, col: 5, offset: 59052}, - expr: &ruleRefExpr{ - pos: position{line: 1810, col: 7, offset: 59054}, - name: "Alphanum", - }, - }, - &andExpr{ - pos: position{line: 1811, col: 5, offset: 59163}, - expr: ¬Expr{ - pos: position{line: 1811, col: 7, offset: 59165}, - expr: &ruleRefExpr{ - pos: position{line: 1811, col: 8, offset: 59166}, - name: "OrderedListElementPrefix", - }, - }, - }, - &andExpr{ - pos: position{line: 1812, col: 5, offset: 59196}, - expr: ¬Expr{ - pos: position{line: 1812, col: 7, offset: 59198}, - expr: &ruleRefExpr{ - pos: position{line: 1812, col: 8, offset: 59199}, - name: "UnorderedListElementPrefix", - }, - }, - }, - &andExpr{ - pos: position{line: 1813, col: 5, offset: 59231}, - expr: ¬Expr{ - pos: position{line: 1813, col: 7, offset: 59233}, - expr: &ruleRefExpr{ - pos: position{line: 1813, col: 8, offset: 59234}, - name: "AdmonitionKind", - }, - }, - }, &labeledExpr{ - pos: position{line: 1814, col: 5, offset: 59254}, + pos: position{line: 1827, col: 5, offset: 59774}, label: "firstLine", - expr: &ruleRefExpr{ - pos: position{line: 1814, col: 16, offset: 59265}, - name: "ParagraphRawLine", - }, - }, - &andCodeExpr{ - pos: position{line: 1815, col: 5, offset: 59288}, - run: (*parser).callonShortcutParagraph16, - }, - &labeledExpr{ - pos: position{line: 1822, col: 5, offset: 59650}, - label: "otherLines", - expr: &zeroOrMoreExpr{ - pos: position{line: 1822, col: 16, offset: 59661}, - expr: &actionExpr{ - pos: position{line: 1823, col: 9, offset: 59671}, - run: (*parser).callonShortcutParagraph19, - expr: &seqExpr{ - pos: position{line: 1823, col: 9, offset: 59671}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1823, col: 9, offset: 59671}, - expr: &ruleRefExpr{ - pos: position{line: 1823, col: 10, offset: 59672}, - name: "EOF", - }, - }, - ¬Expr{ - pos: position{line: 1824, col: 9, offset: 59685}, - expr: &ruleRefExpr{ - pos: position{line: 1824, col: 10, offset: 59686}, - name: "BlankLine", - }, - }, - ¬Expr{ - pos: position{line: 1825, col: 9, offset: 59704}, - expr: &ruleRefExpr{ - pos: position{line: 1825, col: 10, offset: 59705}, - name: "BlockAttributes", - }, - }, - ¬Expr{ - pos: position{line: 1826, col: 9, offset: 59729}, - expr: &ruleRefExpr{ - pos: position{line: 1826, col: 10, offset: 59730}, - name: "ListElementContinuationMarker", + expr: &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonParagraph4, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonParagraph7, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, }, }, - &labeledExpr{ - pos: position{line: 1827, col: 9, offset: 59768}, - label: "line", - expr: &choiceExpr{ - pos: position{line: 1827, col: 15, offset: 59774}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1827, col: 15, offset: 59774}, - name: "SingleLineComment", - }, - &ruleRefExpr{ - pos: position{line: 1827, col: 35, offset: 59794}, - name: "ParagraphRawLine", + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonParagraph10, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonParagraph12, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, }, }, }, }, }, }, - }, - }, - }, - }, - { - name: "Paragraph", - pos: position{line: 1834, col: 1, offset: 59971}, - expr: &actionExpr{ - pos: position{line: 1835, col: 5, offset: 59989}, - run: (*parser).callonParagraph1, - expr: &seqExpr{ - pos: position{line: 1835, col: 5, offset: 59989}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1835, col: 5, offset: 59989}, - label: "firstLine", - expr: &ruleRefExpr{ - pos: position{line: 1835, col: 16, offset: 60000}, - name: "ParagraphRawLine", - }, - }, &labeledExpr{ - pos: position{line: 1836, col: 5, offset: 60023}, + pos: position{line: 1828, col: 5, offset: 59808}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1836, col: 16, offset: 60034}, + pos: position{line: 1828, col: 16, offset: 59819}, expr: &actionExpr{ - pos: position{line: 1837, col: 9, offset: 60044}, - run: (*parser).callonParagraph7, + pos: position{line: 1829, col: 9, offset: 59829}, + run: (*parser).callonParagraph21, expr: &seqExpr{ - pos: position{line: 1837, col: 9, offset: 60044}, + pos: position{line: 1829, col: 9, offset: 59829}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1837, col: 9, offset: 60044}, - expr: &ruleRefExpr{ - pos: position{line: 1837, col: 10, offset: 60045}, - name: "EOF", + pos: position{line: 1829, col: 9, offset: 59829}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, ¬Expr{ - pos: position{line: 1838, col: 9, offset: 60057}, - expr: &ruleRefExpr{ - pos: position{line: 1838, col: 10, offset: 60058}, - name: "BlankLine", + pos: position{line: 1830, col: 9, offset: 59842}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + run: (*parser).callonParagraph27, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22117}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22117}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22122}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonParagraph33, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonParagraph36, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, ¬Expr{ - pos: position{line: 1839, col: 9, offset: 60076}, + pos: position{line: 1831, col: 9, offset: 59861}, expr: &ruleRefExpr{ - pos: position{line: 1839, col: 10, offset: 60077}, + pos: position{line: 1831, col: 10, offset: 59862}, name: "BlockAttributes", }, }, ¬Expr{ - pos: position{line: 1840, col: 9, offset: 60101}, - expr: &ruleRefExpr{ - pos: position{line: 1840, col: 10, offset: 60102}, - name: "ListElementContinuationMarker", + pos: position{line: 1832, col: 9, offset: 59886}, + expr: &seqExpr{ + pos: position{line: 1590, col: 34, offset: 51781}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1590, col: 34, offset: 51781}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1590, col: 38, offset: 51785}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonParagraph49, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonParagraph51, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, }, }, &labeledExpr{ - pos: position{line: 1841, col: 9, offset: 60140}, + pos: position{line: 1833, col: 9, offset: 59925}, label: "line", expr: &choiceExpr{ - pos: position{line: 1841, col: 15, offset: 60146}, + pos: position{line: 1833, col: 15, offset: 59931}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1841, col: 15, offset: 60146}, - name: "SingleLineComment", + &actionExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + run: (*parser).callonParagraph58, + expr: &seqExpr{ + pos: position{line: 2774, col: 22, offset: 90653}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2779, col: 31, offset: 90874}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2779, col: 36, offset: 90879}, + expr: &litMatcher{ + pos: position{line: 2779, col: 37, offset: 90880}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2774, col: 49, offset: 90680}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + run: (*parser).callonParagraph64, + expr: &zeroOrMoreExpr{ + pos: position{line: 2781, col: 29, offset: 90915}, + expr: &charClassMatcher{ + pos: position{line: 2781, col: 29, offset: 90915}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonParagraph68, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 1841, col: 35, offset: 60166}, - name: "ParagraphRawLine", + &actionExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + run: (*parser).callonParagraph75, + expr: &seqExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1854, col: 5, offset: 60564}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + run: (*parser).callonParagraph78, + expr: &oneOrMoreExpr{ + pos: position{line: 1854, col: 14, offset: 60573}, + expr: &charClassMatcher{ + pos: position{line: 1854, col: 14, offset: 60573}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1857, col: 5, offset: 60680}, + run: (*parser).callonParagraph81, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonParagraph83, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, }, @@ -9510,241 +49715,38 @@ var g = &grammar{ }, }, }, - { - name: "AdmonitionParagraph", - pos: position{line: 1849, col: 1, offset: 60375}, - expr: &actionExpr{ - pos: position{line: 1850, col: 5, offset: 60403}, - run: (*parser).callonAdmonitionParagraph1, - expr: &seqExpr{ - pos: position{line: 1850, col: 5, offset: 60403}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1850, col: 5, offset: 60403}, - label: "kind", - expr: &ruleRefExpr{ - pos: position{line: 1850, col: 11, offset: 60409}, - name: "AdmonitionKind", - }, - }, - &litMatcher{ - pos: position{line: 1850, col: 27, offset: 60425}, - val: ": ", - ignoreCase: false, - want: "\": \"", - }, - &labeledExpr{ - pos: position{line: 1851, col: 5, offset: 60435}, - label: "firstLine", - expr: &ruleRefExpr{ - pos: position{line: 1851, col: 16, offset: 60446}, - name: "ParagraphRawLine", - }, - }, - &labeledExpr{ - pos: position{line: 1852, col: 5, offset: 60469}, - label: "otherLines", - expr: &zeroOrMoreExpr{ - pos: position{line: 1852, col: 16, offset: 60480}, - expr: &actionExpr{ - pos: position{line: 1853, col: 9, offset: 60490}, - run: (*parser).callonAdmonitionParagraph10, - expr: &seqExpr{ - pos: position{line: 1853, col: 9, offset: 60490}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1853, col: 9, offset: 60490}, - expr: &ruleRefExpr{ - pos: position{line: 1853, col: 10, offset: 60491}, - name: "ListElementContinuationMarker", - }, - }, - &labeledExpr{ - pos: position{line: 1854, col: 9, offset: 60529}, - label: "line", - expr: &choiceExpr{ - pos: position{line: 1854, col: 15, offset: 60535}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1854, col: 15, offset: 60535}, - name: "SingleLineComment", - }, - &ruleRefExpr{ - pos: position{line: 1854, col: 35, offset: 60555}, - name: "ParagraphRawLine", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ParagraphRawLine", - pos: position{line: 1861, col: 1, offset: 60754}, - expr: &actionExpr{ - pos: position{line: 1862, col: 5, offset: 60779}, - run: (*parser).callonParagraphRawLine1, - expr: &seqExpr{ - pos: position{line: 1862, col: 5, offset: 60779}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1862, col: 5, offset: 60779}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1862, col: 14, offset: 60788}, - run: (*parser).callonParagraphRawLine4, - expr: &oneOrMoreExpr{ - pos: position{line: 1862, col: 14, offset: 60788}, - expr: &charClassMatcher{ - pos: position{line: 1862, col: 14, offset: 60788}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1865, col: 5, offset: 60895}, - run: (*parser).callonParagraphRawLine7, - }, - &ruleRefExpr{ - pos: position{line: 1868, col: 5, offset: 60973}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "LiteralParagraph", - pos: position{line: 1872, col: 1, offset: 61036}, - expr: &actionExpr{ - pos: position{line: 1873, col: 5, offset: 61061}, - run: (*parser).callonLiteralParagraph1, - expr: &seqExpr{ - pos: position{line: 1873, col: 5, offset: 61061}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1873, col: 5, offset: 61061}, - label: "firstLine", - expr: &ruleRefExpr{ - pos: position{line: 1873, col: 16, offset: 61072}, - name: "LiteralParagraphRawLine", - }, - }, - &labeledExpr{ - pos: position{line: 1874, col: 5, offset: 61102}, - label: "otherLines", - expr: &zeroOrMoreExpr{ - pos: position{line: 1874, col: 16, offset: 61113}, - expr: &choiceExpr{ - pos: position{line: 1874, col: 17, offset: 61114}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1874, col: 17, offset: 61114}, - name: "SingleLineComment", - }, - &ruleRefExpr{ - pos: position{line: 1874, col: 37, offset: 61134}, - name: "ParagraphRawLine", - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "LiteralParagraphRawLine", - pos: position{line: 1879, col: 1, offset: 61314}, - expr: &actionExpr{ - pos: position{line: 1880, col: 5, offset: 61346}, - run: (*parser).callonLiteralParagraphRawLine1, - expr: &seqExpr{ - pos: position{line: 1880, col: 5, offset: 61346}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1880, col: 5, offset: 61346}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1880, col: 14, offset: 61355}, - run: (*parser).callonLiteralParagraphRawLine4, - expr: &seqExpr{ - pos: position{line: 1880, col: 14, offset: 61355}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1880, col: 14, offset: 61355}, - name: "Spaces", - }, - &oneOrMoreExpr{ - pos: position{line: 1880, col: 21, offset: 61362}, - expr: &charClassMatcher{ - pos: position{line: 1880, col: 21, offset: 61362}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1883, col: 5, offset: 61419}, - run: (*parser).callonLiteralParagraphRawLine9, - }, - &ruleRefExpr{ - pos: position{line: 1886, col: 5, offset: 61495}, - name: "EOL", - }, - }, - }, - }, - }, { name: "QuotedText", - pos: position{line: 1893, col: 1, offset: 61881}, + pos: position{line: 1885, col: 1, offset: 61666}, expr: &choiceExpr{ - pos: position{line: 1897, col: 5, offset: 62102}, + pos: position{line: 1889, col: 5, offset: 61887}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1897, col: 5, offset: 62102}, + pos: position{line: 1889, col: 5, offset: 61887}, run: (*parser).callonQuotedText2, expr: &seqExpr{ - pos: position{line: 1897, col: 5, offset: 62102}, + pos: position{line: 1889, col: 5, offset: 61887}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1897, col: 5, offset: 62102}, + pos: position{line: 1889, col: 5, offset: 61887}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1897, col: 16, offset: 62113}, + pos: position{line: 1889, col: 16, offset: 61898}, expr: &actionExpr{ - pos: position{line: 1897, col: 17, offset: 62114}, + pos: position{line: 1889, col: 17, offset: 61899}, run: (*parser).callonQuotedText6, expr: &ruleRefExpr{ - pos: position{line: 1897, col: 17, offset: 62114}, + pos: position{line: 1889, col: 17, offset: 61899}, name: "LongHandAttributes", }, }, }, }, &labeledExpr{ - pos: position{line: 1900, col: 5, offset: 62202}, + pos: position{line: 1892, col: 5, offset: 61987}, label: "text", expr: &ruleRefExpr{ - pos: position{line: 1900, col: 10, offset: 62207}, + pos: position{line: 1892, col: 10, offset: 61992}, name: "EscapedQuotedText", }, }, @@ -9752,34 +49754,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1906, col: 5, offset: 62391}, + pos: position{line: 1898, col: 5, offset: 62176}, run: (*parser).callonQuotedText10, expr: &seqExpr{ - pos: position{line: 1906, col: 5, offset: 62391}, + pos: position{line: 1898, col: 5, offset: 62176}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1906, col: 5, offset: 62391}, + pos: position{line: 1898, col: 5, offset: 62176}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1906, col: 16, offset: 62402}, + pos: position{line: 1898, col: 16, offset: 62187}, expr: &ruleRefExpr{ - pos: position{line: 1906, col: 17, offset: 62403}, + pos: position{line: 1898, col: 17, offset: 62188}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1907, col: 5, offset: 62429}, + pos: position{line: 1899, col: 5, offset: 62214}, label: "text", expr: &choiceExpr{ - pos: position{line: 1907, col: 11, offset: 62435}, + pos: position{line: 1899, col: 11, offset: 62220}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1907, col: 11, offset: 62435}, + pos: position{line: 1899, col: 11, offset: 62220}, name: "UnconstrainedQuotedText", }, &ruleRefExpr{ - pos: position{line: 1907, col: 37, offset: 62461}, + pos: position{line: 1899, col: 37, offset: 62246}, name: "ConstrainedQuotedText", }, }, @@ -9791,166 +49793,34 @@ var g = &grammar{ }, }, }, - { - name: "ConstrainedQuotedTextMarker", - pos: position{line: 1911, col: 1, offset: 62560}, - expr: &choiceExpr{ - pos: position{line: 1911, col: 32, offset: 62591}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 1911, col: 32, offset: 62591}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1911, col: 32, offset: 62591}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - ¬Expr{ - pos: position{line: 1911, col: 36, offset: 62595}, - expr: &litMatcher{ - pos: position{line: 1911, col: 37, offset: 62596}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 1911, col: 43, offset: 62602}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1911, col: 43, offset: 62602}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - ¬Expr{ - pos: position{line: 1911, col: 47, offset: 62606}, - expr: &litMatcher{ - pos: position{line: 1911, col: 48, offset: 62607}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 1911, col: 54, offset: 62613}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1911, col: 54, offset: 62613}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - ¬Expr{ - pos: position{line: 1911, col: 58, offset: 62617}, - expr: &litMatcher{ - pos: position{line: 1911, col: 59, offset: 62618}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - }, - }, - &seqExpr{ - pos: position{line: 1911, col: 65, offset: 62624}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1911, col: 65, offset: 62624}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - ¬Expr{ - pos: position{line: 1911, col: 69, offset: 62628}, - expr: &litMatcher{ - pos: position{line: 1911, col: 70, offset: 62629}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - }, - }, - }, - }, - }, - { - name: "UnconstrainedQuotedTextPrefix", - pos: position{line: 1913, col: 1, offset: 62634}, - expr: &choiceExpr{ - pos: position{line: 1913, col: 34, offset: 62667}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 1913, col: 34, offset: 62667}, - val: "**", - ignoreCase: false, - want: "\"**\"", - }, - &litMatcher{ - pos: position{line: 1913, col: 41, offset: 62674}, - val: "__", - ignoreCase: false, - want: "\"__\"", - }, - &litMatcher{ - pos: position{line: 1913, col: 48, offset: 62681}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, - &ruleRefExpr{ - pos: position{line: 1913, col: 55, offset: 62688}, - name: "DoubleQuoteMarkedTextDelimiter", - }, - &litMatcher{ - pos: position{line: 1913, col: 88, offset: 62721}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - &litMatcher{ - pos: position{line: 1913, col: 94, offset: 62727}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, - }, - }, - }, { name: "ConstrainedQuotedText", - pos: position{line: 1915, col: 1, offset: 62732}, + pos: position{line: 1907, col: 1, offset: 62517}, expr: &choiceExpr{ - pos: position{line: 1916, col: 5, offset: 62762}, + pos: position{line: 1908, col: 5, offset: 62547}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1916, col: 5, offset: 62762}, + pos: position{line: 1908, col: 5, offset: 62547}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1917, col: 7, offset: 62789}, + pos: position{line: 1909, col: 7, offset: 62574}, name: "SingleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1918, col: 7, offset: 62817}, + pos: position{line: 1910, col: 7, offset: 62602}, name: "SingleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1919, col: 7, offset: 62845}, + pos: position{line: 1911, col: 7, offset: 62630}, name: "SingleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1920, col: 7, offset: 62877}, + pos: position{line: 1912, col: 7, offset: 62662}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1921, col: 7, offset: 62898}, + pos: position{line: 1913, col: 7, offset: 62683}, name: "SuperscriptText", }, }, @@ -9958,24 +49828,24 @@ var g = &grammar{ }, { name: "UnconstrainedQuotedText", - pos: position{line: 1923, col: 1, offset: 62916}, + pos: position{line: 1915, col: 1, offset: 62701}, expr: &choiceExpr{ - pos: position{line: 1924, col: 5, offset: 62948}, + pos: position{line: 1916, col: 5, offset: 62733}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1924, col: 5, offset: 62948}, + pos: position{line: 1916, col: 5, offset: 62733}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1925, col: 7, offset: 62974}, + pos: position{line: 1917, col: 7, offset: 62759}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1926, col: 7, offset: 63002}, + pos: position{line: 1918, col: 7, offset: 62787}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1927, col: 7, offset: 63030}, + pos: position{line: 1919, col: 7, offset: 62815}, name: "DoubleQuoteMonospaceText", }, }, @@ -9983,50 +49853,50 @@ var g = &grammar{ }, { name: "EscapedQuotedText", - pos: position{line: 1929, col: 1, offset: 63056}, + pos: position{line: 1921, col: 1, offset: 62841}, expr: &actionExpr{ - pos: position{line: 1930, col: 5, offset: 63137}, + pos: position{line: 1922, col: 5, offset: 62922}, run: (*parser).callonEscapedQuotedText1, expr: &seqExpr{ - pos: position{line: 1930, col: 5, offset: 63137}, + pos: position{line: 1922, col: 5, offset: 62922}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1930, col: 5, offset: 63137}, + pos: position{line: 1922, col: 5, offset: 62922}, expr: &litMatcher{ - pos: position{line: 1930, col: 7, offset: 63139}, + pos: position{line: 1922, col: 7, offset: 62924}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 1931, col: 5, offset: 63148}, + pos: position{line: 1923, col: 5, offset: 62933}, label: "element", expr: &choiceExpr{ - pos: position{line: 1932, col: 9, offset: 63166}, + pos: position{line: 1924, col: 9, offset: 62951}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1932, col: 9, offset: 63166}, + pos: position{line: 1924, col: 9, offset: 62951}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 1933, col: 11, offset: 63193}, + pos: position{line: 1925, col: 11, offset: 62978}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 1934, col: 11, offset: 63221}, + pos: position{line: 1926, col: 11, offset: 63006}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 1935, col: 11, offset: 63249}, + pos: position{line: 1927, col: 11, offset: 63034}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1936, col: 11, offset: 63280}, + pos: position{line: 1928, col: 11, offset: 63065}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 1937, col: 11, offset: 63311}, + pos: position{line: 1929, col: 11, offset: 63096}, name: "EscapedSuperscriptText", }, }, @@ -10037,322 +49907,1618 @@ var g = &grammar{ }, }, { - name: "SubscriptOrSuperscriptPrefix", - pos: position{line: 1942, col: 1, offset: 63377}, + name: "BoldText", + pos: position{line: 1949, col: 1, offset: 63623}, expr: &choiceExpr{ - pos: position{line: 1942, col: 33, offset: 63409}, + pos: position{line: 1949, col: 13, offset: 63635}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 1942, col: 33, offset: 63409}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - &actionExpr{ - pos: position{line: 1942, col: 39, offset: 63415}, - run: (*parser).callonSubscriptOrSuperscriptPrefix3, - expr: &litMatcher{ - pos: position{line: 1942, col: 39, offset: 63415}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, + &ruleRefExpr{ + pos: position{line: 1949, col: 13, offset: 63635}, + name: "DoubleQuoteBoldText", }, - }, - }, - }, - { - name: "OneOrMoreBackslashes", - pos: position{line: 1946, col: 1, offset: 63557}, - expr: &actionExpr{ - pos: position{line: 1946, col: 25, offset: 63581}, - run: (*parser).callonOneOrMoreBackslashes1, - expr: &oneOrMoreExpr{ - pos: position{line: 1946, col: 25, offset: 63581}, - expr: &litMatcher{ - pos: position{line: 1946, col: 25, offset: 63581}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", + &ruleRefExpr{ + pos: position{line: 1949, col: 35, offset: 63657}, + name: "SingleQuoteBoldText", }, }, }, }, { - name: "TwoOrMoreBackslashes", - pos: position{line: 1950, col: 1, offset: 63630}, + name: "DoubleQuoteBoldText", + pos: position{line: 1963, col: 1, offset: 64019}, expr: &actionExpr{ - pos: position{line: 1950, col: 25, offset: 63654}, - run: (*parser).callonTwoOrMoreBackslashes1, + pos: position{line: 1964, col: 5, offset: 64047}, + run: (*parser).callonDoubleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1950, col: 25, offset: 63654}, + pos: position{line: 1964, col: 5, offset: 64047}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1950, col: 25, offset: 63654}, - val: "\\\\", + pos: position{line: 1961, col: 33, offset: 64013}, + val: "**", ignoreCase: false, - want: "\"\\\\\\\\\"", + want: "\"**\"", }, - &zeroOrMoreExpr{ - pos: position{line: 1950, col: 30, offset: 63659}, - expr: &litMatcher{ - pos: position{line: 1950, col: 30, offset: 63659}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", + &labeledExpr{ + pos: position{line: 1965, col: 5, offset: 64081}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1965, col: 15, offset: 64091}, + name: "DoubleQuoteBoldTextElements", }, }, + &litMatcher{ + pos: position{line: 1961, col: 33, offset: 64013}, + val: "**", + ignoreCase: false, + want: "\"**\"", + }, }, }, }, }, { - name: "BoldText", - pos: position{line: 1957, col: 1, offset: 63838}, - expr: &choiceExpr{ - pos: position{line: 1957, col: 13, offset: 63850}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1957, col: 13, offset: 63850}, - name: "DoubleQuoteBoldText", - }, - &ruleRefExpr{ - pos: position{line: 1957, col: 35, offset: 63872}, - name: "SingleQuoteBoldText", - }, - }, - }, - }, - { - name: "BoldTextDelimiter", - pos: position{line: 1959, col: 1, offset: 63939}, - expr: &litMatcher{ - pos: position{line: 1959, col: 22, offset: 63960}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - { - name: "BoldTextWord", - pos: position{line: 1961, col: 1, offset: 63965}, - expr: &actionExpr{ - pos: position{line: 1962, col: 5, offset: 63986}, - run: (*parser).callonBoldTextWord1, - expr: &seqExpr{ - pos: position{line: 1962, col: 5, offset: 63986}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1962, col: 5, offset: 63986}, - expr: &charClassMatcher{ - pos: position{line: 1962, col: 5, offset: 63986}, - val: "[\\pL0-9,?!;]", - chars: []rune{',', '?', '!', ';'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 1962, col: 19, offset: 64000}, - expr: &choiceExpr{ - pos: position{line: 1962, col: 21, offset: 64002}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1962, col: 21, offset: 64002}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 1962, col: 29, offset: 64010}, - name: "BoldTextDelimiter", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "DoubleQuoteBoldTextDelimiter", - pos: position{line: 1969, col: 1, offset: 64196}, - expr: &litMatcher{ - pos: position{line: 1969, col: 33, offset: 64228}, - val: "**", - ignoreCase: false, - want: "\"**\"", - }, - }, - { - name: "DoubleQuoteBoldText", - pos: position{line: 1971, col: 1, offset: 64234}, - expr: &actionExpr{ - pos: position{line: 1972, col: 5, offset: 64262}, - run: (*parser).callonDoubleQuoteBoldText1, - expr: &seqExpr{ - pos: position{line: 1972, col: 5, offset: 64262}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1972, col: 5, offset: 64262}, - name: "DoubleQuoteBoldTextDelimiter", - }, - &labeledExpr{ - pos: position{line: 1973, col: 5, offset: 64296}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 1973, col: 15, offset: 64306}, - name: "DoubleQuoteBoldTextElements", - }, - }, - &ruleRefExpr{ - pos: position{line: 1974, col: 5, offset: 64340}, - name: "DoubleQuoteBoldTextDelimiter", - }, - }, - }, - }, - }, - { - name: "DoubleQuoteBoldTextElements", - pos: position{line: 1978, col: 1, offset: 64463}, - expr: &oneOrMoreExpr{ - pos: position{line: 1978, col: 32, offset: 64494}, - expr: &ruleRefExpr{ - pos: position{line: 1978, col: 32, offset: 64494}, - name: "DoubleQuoteBoldTextElement", + name: "DoubleQuoteBoldTextElements", + pos: position{line: 1970, col: 1, offset: 64248}, + expr: &oneOrMoreExpr{ + pos: position{line: 1970, col: 32, offset: 64279}, + expr: &ruleRefExpr{ + pos: position{line: 1970, col: 32, offset: 64279}, + name: "DoubleQuoteBoldTextElement", }, }, }, { name: "DoubleQuoteBoldTextElement", - pos: position{line: 1980, col: 1, offset: 64525}, + pos: position{line: 1972, col: 1, offset: 64310}, expr: &actionExpr{ - pos: position{line: 1981, col: 5, offset: 64560}, + pos: position{line: 1973, col: 5, offset: 64345}, run: (*parser).callonDoubleQuoteBoldTextElement1, expr: &seqExpr{ - pos: position{line: 1981, col: 5, offset: 64560}, + pos: position{line: 1973, col: 5, offset: 64345}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1981, col: 5, offset: 64560}, - expr: &ruleRefExpr{ - pos: position{line: 1981, col: 6, offset: 64561}, - name: "DoubleQuoteBoldTextDelimiter", + pos: position{line: 1973, col: 5, offset: 64345}, + expr: &litMatcher{ + pos: position{line: 1961, col: 33, offset: 64013}, + val: "**", + ignoreCase: false, + want: "\"**\"", }, }, &labeledExpr{ - pos: position{line: 1982, col: 5, offset: 64594}, + pos: position{line: 1974, col: 5, offset: 64379}, label: "element", expr: &choiceExpr{ - pos: position{line: 1983, col: 9, offset: 64612}, + pos: position{line: 1975, col: 9, offset: 64397}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1983, col: 9, offset: 64612}, - name: "BoldTextWord", + &actionExpr{ + pos: position{line: 1954, col: 5, offset: 63771}, + run: (*parser).callonDoubleQuoteBoldTextElement7, + expr: &seqExpr{ + pos: position{line: 1954, col: 5, offset: 63771}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1954, col: 5, offset: 63771}, + expr: &charClassMatcher{ + pos: position{line: 1954, col: 5, offset: 63771}, + val: "[,?!;0-9\\pL]", + chars: []rune{',', '?', '!', ';'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 1954, col: 19, offset: 63785}, + expr: &choiceExpr{ + pos: position{line: 1954, col: 21, offset: 63787}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteBoldTextElement13, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1951, col: 22, offset: 63745}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 1984, col: 11, offset: 64635}, - name: "Spaces", + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonDoubleQuoteBoldTextElement16, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, }, &seqExpr{ - pos: position{line: 1985, col: 11, offset: 64685}, + pos: position{line: 1977, col: 11, offset: 64470}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1985, col: 11, offset: 64685}, - name: "Newline", + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteBoldTextElement20, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, ¬Expr{ - pos: position{line: 1985, col: 19, offset: 64693}, - expr: &ruleRefExpr{ - pos: position{line: 1985, col: 20, offset: 64694}, - name: "Newline", + pos: position{line: 1977, col: 19, offset: 64478}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteBoldTextElement26, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1986, col: 11, offset: 64746}, - name: "AttributeReference", + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuoteBoldTextElement31, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuoteBoldTextElement33, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonDoubleQuoteBoldTextElement36, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteBoldTextElement40, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuoteBoldTextElement47, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuoteBoldTextElement52, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuoteBoldTextElement54, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonDoubleQuoteBoldTextElement58, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteBoldTextElement62, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuoteBoldTextElement69, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuoteBoldTextElement74, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuoteBoldTextElement76, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuoteBoldTextElement80, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteBoldTextElement84, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuoteBoldTextElement90, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteBoldTextElement94, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, }, &ruleRefExpr{ - pos: position{line: 1987, col: 11, offset: 64775}, + pos: position{line: 1979, col: 11, offset: 64560}, name: "InlineMacro", }, - &ruleRefExpr{ - pos: position{line: 1988, col: 11, offset: 64797}, - name: "Symbol", + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonDoubleQuoteBoldTextElement101, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuoteBoldTextElement105, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuoteBoldTextElement107, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuoteBoldTextElement109, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuoteBoldTextElement111, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteBoldTextElement113, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonDoubleQuoteBoldTextElement115, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonDoubleQuoteBoldTextElement117, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonDoubleQuoteBoldTextElement119, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonDoubleQuoteBoldTextElement121, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteBoldTextElement123, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteBoldTextElement125, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteBoldTextElement128, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteBoldTextElement132, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteBoldTextElement139, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteBoldTextElement141, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteBoldTextElement146, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonDoubleQuoteBoldTextElement153, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonDoubleQuoteBoldTextElement155, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonDoubleQuoteBoldTextElement157, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 1989, col: 11, offset: 64814}, - name: "SpecialCharacter", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuoteBoldTextElement159, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 1990, col: 11, offset: 64891}, - name: "QuotedTextInDoubleQuoteBoldText", + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuoteBoldTextElement161, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, }, - &ruleRefExpr{ - pos: position{line: 1991, col: 11, offset: 64933}, - name: "ElementPlaceHolder", + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuoteBoldTextElement163, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 1992, col: 11, offset: 64962}, - name: "DoubleQuoteBoldTextFallbackCharacter", + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuoteBoldTextElement165, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, }, - }, - }, - }, - }, - }, - }, - }, - { - name: "QuotedTextInDoubleQuoteBoldText", - pos: position{line: 1996, col: 1, offset: 65045}, - expr: &actionExpr{ - pos: position{line: 1997, col: 5, offset: 65085}, - run: (*parser).callonQuotedTextInDoubleQuoteBoldText1, - expr: &seqExpr{ - pos: position{line: 1997, col: 5, offset: 65085}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1997, col: 5, offset: 65085}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1997, col: 16, offset: 65096}, - expr: &ruleRefExpr{ - pos: position{line: 1997, col: 17, offset: 65097}, - name: "LongHandAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 1998, col: 5, offset: 65123}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 1999, col: 9, offset: 65138}, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteBoldTextElement167, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonDoubleQuoteBoldTextElement169, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonDoubleQuoteBoldTextElement171, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonDoubleQuoteBoldTextElement173, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteBoldTextElement175, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteBoldTextElement177, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteBoldTextElement180, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteBoldTextElement184, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteBoldTextElement191, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteBoldTextElement193, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteBoldTextElement198, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonDoubleQuoteBoldTextElement205, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonDoubleQuoteBoldTextElement207, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonDoubleQuoteBoldTextElement209, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonDoubleQuoteBoldTextElement211, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonDoubleQuoteBoldTextElement213, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonDoubleQuoteBoldTextElement219, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonDoubleQuoteBoldTextElement225, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonDoubleQuoteBoldTextElement227, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonDoubleQuoteBoldTextElement230, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonDoubleQuoteBoldTextElement232, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonDoubleQuoteBoldTextElement236, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteBoldTextElement240, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonDoubleQuoteBoldTextElement246, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuoteBoldTextElement251, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteBoldTextElement255, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuoteBoldTextElement261, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteBoldTextElement265, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonDoubleQuoteBoldTextElement271, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonDoubleQuoteBoldTextElement274, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonDoubleQuoteBoldTextElement278, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonDoubleQuoteBoldTextElement282, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 1982, col: 11, offset: 64676}, + name: "QuotedTextInDoubleQuoteBoldText", + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonDoubleQuoteBoldTextElement285, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonDoubleQuoteBoldTextElement289, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &charClassMatcher{ + pos: position{line: 2001, col: 5, offset: 65188}, + val: "[^\\r\\n*]", + chars: []rune{'\r', '\n', '*'}, + ignoreCase: false, + inverted: true, + }, + &actionExpr{ + pos: position{line: 2002, col: 7, offset: 65285}, + run: (*parser).callonDoubleQuoteBoldTextElement294, + expr: &seqExpr{ + pos: position{line: 2002, col: 7, offset: 65285}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1961, col: 33, offset: 64013}, + val: "**", + ignoreCase: false, + want: "\"**\"", + }, + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonDoubleQuoteBoldTextElement297, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "QuotedTextInDoubleQuoteBoldText", + pos: position{line: 1988, col: 1, offset: 64830}, + expr: &actionExpr{ + pos: position{line: 1989, col: 5, offset: 64870}, + run: (*parser).callonQuotedTextInDoubleQuoteBoldText1, + expr: &seqExpr{ + pos: position{line: 1989, col: 5, offset: 64870}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1989, col: 5, offset: 64870}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1989, col: 16, offset: 64881}, + expr: &ruleRefExpr{ + pos: position{line: 1989, col: 17, offset: 64882}, + name: "LongHandAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1990, col: 5, offset: 64908}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 1991, col: 9, offset: 64923}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1999, col: 9, offset: 65138}, + pos: position{line: 1991, col: 9, offset: 64923}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 2000, col: 11, offset: 65168}, + pos: position{line: 1992, col: 11, offset: 64953}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2001, col: 11, offset: 65189}, + pos: position{line: 1993, col: 11, offset: 64974}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2002, col: 11, offset: 65210}, + pos: position{line: 1994, col: 11, offset: 64995}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2003, col: 11, offset: 65234}, + pos: position{line: 1995, col: 11, offset: 65019}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2004, col: 11, offset: 65258}, + pos: position{line: 1996, col: 11, offset: 65043}, name: "SuperscriptText", }, }, @@ -10362,83 +51528,34 @@ var g = &grammar{ }, }, }, - { - name: "DoubleQuoteBoldTextFallbackCharacter", - pos: position{line: 2008, col: 1, offset: 65359}, - expr: &choiceExpr{ - pos: position{line: 2009, col: 5, offset: 65403}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2009, col: 5, offset: 65403}, - val: "[^\\r\\n*]", - chars: []rune{'\r', '\n', '*'}, - ignoreCase: false, - inverted: true, - }, - &actionExpr{ - pos: position{line: 2010, col: 7, offset: 65500}, - run: (*parser).callonDoubleQuoteBoldTextFallbackCharacter3, - expr: &seqExpr{ - pos: position{line: 2010, col: 7, offset: 65500}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2010, col: 7, offset: 65500}, - name: "DoubleQuoteBoldTextDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 2010, col: 36, offset: 65529}, - name: "Alphanums", - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteBoldTextStartDelimiter", - pos: position{line: 2017, col: 1, offset: 65804}, - expr: &litMatcher{ - pos: position{line: 2017, col: 38, offset: 65841}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - { - name: "SingleQuoteBoldTextEndDelimiter", - pos: position{line: 2019, col: 1, offset: 65846}, - expr: &litMatcher{ - pos: position{line: 2019, col: 36, offset: 65881}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, { name: "SingleQuoteBoldText", - pos: position{line: 2021, col: 1, offset: 65887}, + pos: position{line: 2013, col: 1, offset: 65672}, expr: &actionExpr{ - pos: position{line: 2022, col: 4, offset: 65914}, + pos: position{line: 2014, col: 4, offset: 65699}, run: (*parser).callonSingleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 2022, col: 4, offset: 65914}, + pos: position{line: 2014, col: 4, offset: 65699}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2022, col: 4, offset: 65914}, - name: "SingleQuoteBoldTextStartDelimiter", + &litMatcher{ + pos: position{line: 2009, col: 38, offset: 65626}, + val: "*", + ignoreCase: false, + want: "\"*\"", }, &labeledExpr{ - pos: position{line: 2023, col: 5, offset: 65952}, + pos: position{line: 2015, col: 5, offset: 65737}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2023, col: 15, offset: 65962}, + pos: position{line: 2015, col: 15, offset: 65747}, name: "SingleQuoteBoldTextElements", }, }, - &ruleRefExpr{ - pos: position{line: 2024, col: 5, offset: 65996}, - name: "SingleQuoteBoldTextEndDelimiter", + &litMatcher{ + pos: position{line: 2011, col: 36, offset: 65666}, + val: "*", + ignoreCase: false, + want: "\"*\"", }, }, }, @@ -10446,41 +51563,50 @@ var g = &grammar{ }, { name: "SingleQuoteBoldTextElements", - pos: position{line: 2028, col: 1, offset: 66122}, + pos: position{line: 2020, col: 1, offset: 65907}, expr: &actionExpr{ - pos: position{line: 2029, col: 5, offset: 66159}, + pos: position{line: 2021, col: 5, offset: 65944}, run: (*parser).callonSingleQuoteBoldTextElements1, expr: &seqExpr{ - pos: position{line: 2029, col: 5, offset: 66159}, + pos: position{line: 2021, col: 5, offset: 65944}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2029, col: 5, offset: 66159}, - expr: &ruleRefExpr{ - pos: position{line: 2029, col: 6, offset: 66160}, - name: "EOF", + pos: position{line: 2021, col: 5, offset: 65944}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, ¬Expr{ - pos: position{line: 2029, col: 10, offset: 66164}, - expr: &ruleRefExpr{ - pos: position{line: 2029, col: 11, offset: 66165}, - name: "Space", + pos: position{line: 2021, col: 10, offset: 65949}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteBoldTextElements7, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &labeledExpr{ - pos: position{line: 2030, col: 5, offset: 66203}, + pos: position{line: 2022, col: 5, offset: 65988}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2030, col: 14, offset: 66212}, + pos: position{line: 2022, col: 14, offset: 65997}, expr: &ruleRefExpr{ - pos: position{line: 2030, col: 15, offset: 66213}, + pos: position{line: 2022, col: 15, offset: 65998}, name: "SingleQuoteBoldTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2031, col: 5, offset: 66247}, - run: (*parser).callonSingleQuoteBoldTextElements10, + pos: position{line: 2023, col: 5, offset: 66032}, + run: (*parser).callonSingleQuoteBoldTextElements12, }, }, }, @@ -10488,111 +51614,49 @@ var g = &grammar{ }, { name: "SingleQuoteBoldTextElement", - pos: position{line: 2037, col: 1, offset: 66388}, + pos: position{line: 2029, col: 1, offset: 66173}, expr: &choiceExpr{ - pos: position{line: 2038, col: 5, offset: 66423}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2038, col: 5, offset: 66423}, - name: "BoldTextWord", - }, - &ruleRefExpr{ - pos: position{line: 2039, col: 7, offset: 66442}, - name: "Spaces", - }, - &seqExpr{ - pos: position{line: 2040, col: 7, offset: 66455}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2040, col: 7, offset: 66455}, - name: "Newline", - }, - ¬Expr{ - pos: position{line: 2040, col: 15, offset: 66463}, - expr: &ruleRefExpr{ - pos: position{line: 2040, col: 16, offset: 66464}, - name: "Newline", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2041, col: 7, offset: 66512}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 2042, col: 7, offset: 66537}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2043, col: 7, offset: 66555}, - name: "Symbol", - }, - &ruleRefExpr{ - pos: position{line: 2044, col: 7, offset: 66568}, - name: "SpecialCharacter", - }, - &ruleRefExpr{ - pos: position{line: 2045, col: 7, offset: 66641}, - name: "QuotedTextInSingleQuoteBoldText", - }, - &ruleRefExpr{ - pos: position{line: 2046, col: 7, offset: 66679}, - name: "ElementPlaceHolder", - }, - &ruleRefExpr{ - pos: position{line: 2047, col: 7, offset: 66704}, - name: "SingleQuoteBoldTextFallbackCharacter", - }, - }, - }, - }, - { - name: "QuotedTextInSingleQuoteBoldText", - pos: position{line: 2049, col: 1, offset: 66742}, - expr: &choiceExpr{ - pos: position{line: 2051, col: 5, offset: 66805}, + pos: position{line: 2030, col: 5, offset: 66208}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2051, col: 5, offset: 66805}, - run: (*parser).callonQuotedTextInSingleQuoteBoldText2, + pos: position{line: 1954, col: 5, offset: 63771}, + run: (*parser).callonSingleQuoteBoldTextElement2, expr: &seqExpr{ - pos: position{line: 2051, col: 5, offset: 66805}, + pos: position{line: 1954, col: 5, offset: 63771}, exprs: []interface{}{ - &andExpr{ - pos: position{line: 2051, col: 5, offset: 66805}, - expr: &litMatcher{ - pos: position{line: 2051, col: 7, offset: 66807}, - val: "\\", + &oneOrMoreExpr{ + pos: position{line: 1954, col: 5, offset: 63771}, + expr: &charClassMatcher{ + pos: position{line: 1954, col: 5, offset: 63771}, + val: "[,?!;0-9\\pL]", + chars: []rune{',', '?', '!', ';'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"\\\\\"", + inverted: false, }, }, - &labeledExpr{ - pos: position{line: 2052, col: 5, offset: 66816}, - label: "element", + &andExpr{ + pos: position{line: 1954, col: 19, offset: 63785}, expr: &choiceExpr{ - pos: position{line: 2053, col: 9, offset: 66834}, + pos: position{line: 1954, col: 21, offset: 63787}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2053, col: 9, offset: 66834}, - name: "EscapedItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2054, col: 11, offset: 66862}, - name: "EscapedMarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2055, col: 11, offset: 66890}, - name: "EscapedMonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2056, col: 11, offset: 66921}, - name: "EscapedSubscriptText", + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteBoldTextElement8, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, - &ruleRefExpr{ - pos: position{line: 2057, col: 11, offset: 66952}, - name: "EscapedSuperscriptText", + &litMatcher{ + pos: position{line: 1951, col: 22, offset: 63745}, + val: "*", + ignoreCase: false, + want: "\"*\"", }, }, }, @@ -10601,51 +51665,74 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2063, col: 5, offset: 67052}, - run: (*parser).callonQuotedTextInSingleQuoteBoldText13, - expr: &seqExpr{ - pos: position{line: 2063, col: 5, offset: 67052}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2063, col: 5, offset: 67052}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2063, col: 16, offset: 67063}, - expr: &ruleRefExpr{ - pos: position{line: 2063, col: 17, offset: 67064}, - name: "LongHandAttributes", + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonSingleQuoteBoldTextElement11, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2032, col: 7, offset: 66240}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteBoldTextElement15, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &labeledExpr{ - pos: position{line: 2064, col: 5, offset: 67090}, - label: "text", + }, + ¬Expr{ + pos: position{line: 2032, col: 15, offset: 66248}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteBoldTextElement21, expr: &choiceExpr{ - pos: position{line: 2065, col: 9, offset: 67105}, + pos: position{line: 3128, col: 13, offset: 101145}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2065, col: 9, offset: 67105}, - name: "DoubleQuoteBoldText", - }, - &ruleRefExpr{ - pos: position{line: 2066, col: 11, offset: 67135}, - name: "ItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2067, col: 11, offset: 67156}, - name: "MonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2068, col: 11, offset: 67180}, - name: "MarkedText", + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &ruleRefExpr{ - pos: position{line: 2069, col: 11, offset: 67201}, - name: "SubscriptText", + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &ruleRefExpr{ - pos: position{line: 2070, col: 11, offset: 67225}, - name: "SuperscriptText", + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, @@ -10653,354 +51740,1352 @@ var g = &grammar{ }, }, }, - }, - }, - }, - { - name: "SingleQuoteBoldTextFallbackCharacter", - pos: position{line: 2074, col: 1, offset: 67326}, - expr: &choiceExpr{ - pos: position{line: 2075, col: 5, offset: 67370}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2075, col: 5, offset: 67370}, - val: "[^\\r\\n *]", - chars: []rune{'\r', '\n', ' ', '*'}, - ignoreCase: false, - inverted: true, - }, - &actionExpr{ - pos: position{line: 2076, col: 7, offset: 67475}, - run: (*parser).callonSingleQuoteBoldTextFallbackCharacter3, - expr: &seqExpr{ - pos: position{line: 2076, col: 7, offset: 67475}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2076, col: 7, offset: 67475}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - &ruleRefExpr{ - pos: position{line: 2076, col: 11, offset: 67479}, - name: "Alphanums", - }, - }, - }, - }, - }, - }, - }, - { - name: "EscapedBoldText", - pos: position{line: 2080, col: 1, offset: 67650}, - expr: &choiceExpr{ - pos: position{line: 2082, col: 5, offset: 67711}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2082, col: 5, offset: 67711}, - run: (*parser).callonEscapedBoldText2, + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuoteBoldTextElement26, expr: &seqExpr{ - pos: position{line: 2082, col: 5, offset: 67711}, + pos: position{line: 647, col: 5, offset: 20685}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2082, col: 5, offset: 67711}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2082, col: 18, offset: 67724}, - name: "TwoOrMoreBackslashes", - }, - }, - &litMatcher{ - pos: position{line: 2082, col: 40, offset: 67746}, - val: "**", - ignoreCase: false, - want: "\"**\"", + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuoteBoldTextElement28, }, &labeledExpr{ - pos: position{line: 2082, col: 45, offset: 67751}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2082, col: 55, offset: 67761}, - name: "DoubleQuoteBoldTextElements", + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonSingleQuoteBoldTextElement31, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteBoldTextElement35, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuoteBoldTextElement42, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuoteBoldTextElement47, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuoteBoldTextElement49, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonSingleQuoteBoldTextElement53, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteBoldTextElement57, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuoteBoldTextElement64, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuoteBoldTextElement69, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuoteBoldTextElement71, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuoteBoldTextElement75, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteBoldTextElement79, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuoteBoldTextElement85, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteBoldTextElement89, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, }, }, - &litMatcher{ - pos: position{line: 2082, col: 84, offset: 67790}, - val: "**", - ignoreCase: false, - want: "\"**\"", - }, }, }, }, + &ruleRefExpr{ + pos: position{line: 2034, col: 7, offset: 66322}, + name: "InlineMacro", + }, &actionExpr{ - pos: position{line: 2086, col: 7, offset: 67954}, - run: (*parser).callonEscapedBoldText10, + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonSingleQuoteBoldTextElement96, expr: &seqExpr{ - pos: position{line: 2086, col: 7, offset: 67954}, + pos: position{line: 2790, col: 5, offset: 91187}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2086, col: 7, offset: 67954}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2086, col: 20, offset: 67967}, - name: "OneOrMoreBackslashes", - }, - }, - &litMatcher{ - pos: position{line: 2086, col: 42, offset: 67989}, - val: "**", - ignoreCase: false, - want: "\"**\"", - }, - &labeledExpr{ - pos: position{line: 2086, col: 47, offset: 67994}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2086, col: 57, offset: 68004}, - name: "SingleQuoteBoldTextElements", - }, - }, &litMatcher{ - pos: position{line: 2086, col: 86, offset: 68033}, - val: "*", + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", ignoreCase: false, - want: "\"*\"", + want: "\"\\\\\"", }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2091, col: 7, offset: 68235}, - run: (*parser).callonEscapedBoldText18, - expr: &seqExpr{ - pos: position{line: 2091, col: 7, offset: 68235}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2091, col: 7, offset: 68235}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2091, col: 20, offset: 68248}, - name: "OneOrMoreBackslashes", - }, - }, - &litMatcher{ - pos: position{line: 2091, col: 42, offset: 68270}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - &labeledExpr{ - pos: position{line: 2091, col: 46, offset: 68274}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2091, col: 56, offset: 68284}, - name: "SingleQuoteBoldTextElements", + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuoteBoldTextElement100, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuoteBoldTextElement102, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuoteBoldTextElement104, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuoteBoldTextElement106, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteBoldTextElement108, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSingleQuoteBoldTextElement110, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSingleQuoteBoldTextElement112, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSingleQuoteBoldTextElement114, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSingleQuoteBoldTextElement116, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteBoldTextElement118, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteBoldTextElement120, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteBoldTextElement123, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteBoldTextElement127, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteBoldTextElement134, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteBoldTextElement136, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteBoldTextElement141, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSingleQuoteBoldTextElement148, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSingleQuoteBoldTextElement150, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSingleQuoteBoldTextElement152, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, }, }, - &litMatcher{ - pos: position{line: 2091, col: 85, offset: 68313}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, }, }, }, - }, - }, - }, - { - name: "ItalicText", - pos: position{line: 2099, col: 1, offset: 68567}, - expr: &choiceExpr{ - pos: position{line: 2099, col: 15, offset: 68581}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2099, col: 15, offset: 68581}, - name: "DoubleQuoteItalicText", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuoteBoldTextElement154, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2099, col: 39, offset: 68605}, - name: "SingleQuoteItalicText", + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuoteBoldTextElement156, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, }, - }, - }, - }, - { - name: "ItalicTextDelimiter", - pos: position{line: 2101, col: 1, offset: 68628}, - expr: &litMatcher{ - pos: position{line: 2101, col: 24, offset: 68651}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - { - name: "ItalicTextWord", - pos: position{line: 2103, col: 1, offset: 68656}, - expr: &actionExpr{ - pos: position{line: 2104, col: 5, offset: 68679}, - run: (*parser).callonItalicTextWord1, - expr: &seqExpr{ - pos: position{line: 2104, col: 5, offset: 68679}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2104, col: 5, offset: 68679}, - expr: &charClassMatcher{ - pos: position{line: 2104, col: 5, offset: 68679}, - val: "[\\pL0-9]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuoteBoldTextElement158, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", }, - &andExpr{ - pos: position{line: 2104, col: 15, offset: 68689}, - expr: &choiceExpr{ - pos: position{line: 2104, col: 17, offset: 68691}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2104, col: 17, offset: 68691}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 2104, col: 25, offset: 68699}, - name: "ItalicTextDelimiter", - }, - }, - }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuoteBoldTextElement160, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", }, }, - }, - }, - }, - { - name: "DoubleQuoteItalicTextDelimiter", - pos: position{line: 2111, col: 1, offset: 68893}, - expr: &litMatcher{ - pos: position{line: 2111, col: 35, offset: 68927}, - val: "__", - ignoreCase: false, - want: "\"__\"", - }, - }, - { - name: "DoubleQuoteItalicText", - pos: position{line: 2113, col: 1, offset: 68933}, - expr: &actionExpr{ - pos: position{line: 2114, col: 5, offset: 68963}, - run: (*parser).callonDoubleQuoteItalicText1, - expr: &seqExpr{ - pos: position{line: 2114, col: 5, offset: 68963}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2114, col: 5, offset: 68963}, - name: "DoubleQuoteItalicTextDelimiter", + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteBoldTextElement162, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", }, - &labeledExpr{ - pos: position{line: 2115, col: 5, offset: 68999}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2115, col: 15, offset: 69009}, - name: "DoubleQuoteItalicTextElements", - }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSingleQuoteBoldTextElement164, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", }, - &ruleRefExpr{ - pos: position{line: 2116, col: 5, offset: 69045}, - name: "DoubleQuoteItalicTextDelimiter", + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSingleQuoteBoldTextElement166, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", }, }, - }, - }, - }, - { - name: "DoubleQuoteItalicTextElements", - pos: position{line: 2120, col: 1, offset: 69217}, - expr: &oneOrMoreExpr{ - pos: position{line: 2120, col: 34, offset: 69250}, - expr: &ruleRefExpr{ - pos: position{line: 2120, col: 34, offset: 69250}, - name: "DoubleQuoteItalicTextElement", - }, - }, - }, - { - name: "DoubleQuoteItalicTextElement", - pos: position{line: 2122, col: 1, offset: 69282}, - expr: &actionExpr{ - pos: position{line: 2123, col: 5, offset: 69319}, - run: (*parser).callonDoubleQuoteItalicTextElement1, - expr: &seqExpr{ - pos: position{line: 2123, col: 5, offset: 69319}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2123, col: 5, offset: 69319}, - expr: &ruleRefExpr{ - pos: position{line: 2123, col: 6, offset: 69320}, - name: "DoubleQuoteItalicTextDelimiter", - }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSingleQuoteBoldTextElement168, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", }, - &labeledExpr{ - pos: position{line: 2124, col: 5, offset: 69355}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2125, col: 9, offset: 69373}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2125, col: 9, offset: 69373}, - name: "ItalicTextWord", - }, - &ruleRefExpr{ - pos: position{line: 2126, col: 11, offset: 69398}, - name: "Spaces", - }, - &seqExpr{ - pos: position{line: 2127, col: 11, offset: 69448}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2127, col: 11, offset: 69448}, - name: "Newline", + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteBoldTextElement170, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteBoldTextElement172, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteBoldTextElement175, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, - ¬Expr{ - pos: position{line: 2127, col: 19, offset: 69456}, - expr: &ruleRefExpr{ - pos: position{line: 2127, col: 20, offset: 69457}, - name: "Newline", + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteBoldTextElement179, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 2128, col: 11, offset: 69509}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 2129, col: 11, offset: 69538}, - name: "InlineMacro", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteBoldTextElement186, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteBoldTextElement188, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteBoldTextElement193, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2130, col: 11, offset: 69560}, - name: "Symbol", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSingleQuoteBoldTextElement200, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSingleQuoteBoldTextElement202, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSingleQuoteBoldTextElement204, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSingleQuoteBoldTextElement206, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonSingleQuoteBoldTextElement208, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - &ruleRefExpr{ - pos: position{line: 2131, col: 11, offset: 69577}, - name: "SpecialCharacter", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonSingleQuoteBoldTextElement214, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - &ruleRefExpr{ - pos: position{line: 2132, col: 11, offset: 69654}, - name: "QuotedTextInDoubleQuoteItalicText", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSingleQuoteBoldTextElement220, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSingleQuoteBoldTextElement222, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonSingleQuoteBoldTextElement225, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonSingleQuoteBoldTextElement227, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSingleQuoteBoldTextElement231, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteBoldTextElement235, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonSingleQuoteBoldTextElement241, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuoteBoldTextElement246, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteBoldTextElement250, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuoteBoldTextElement256, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteBoldTextElement260, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonSingleQuoteBoldTextElement266, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonSingleQuoteBoldTextElement269, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSingleQuoteBoldTextElement273, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonSingleQuoteBoldTextElement277, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2133, col: 11, offset: 69698}, - name: "ElementPlaceHolder", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2037, col: 7, offset: 66426}, + name: "QuotedTextInSingleQuoteBoldText", + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonSingleQuoteBoldTextElement280, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonSingleQuoteBoldTextElement284, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2134, col: 11, offset: 69727}, - name: "DoubleQuoteItalicTextFallbackCharacter", + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &charClassMatcher{ + pos: position{line: 2067, col: 5, offset: 67155}, + val: "[^\\r\\n *]", + chars: []rune{'\r', '\n', ' ', '*'}, + ignoreCase: false, + inverted: true, + }, + &actionExpr{ + pos: position{line: 2068, col: 7, offset: 67260}, + run: (*parser).callonSingleQuoteBoldTextElement289, + expr: &seqExpr{ + pos: position{line: 2068, col: 7, offset: 67260}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2068, col: 7, offset: 67260}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonSingleQuoteBoldTextElement292, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -11010,50 +53095,50 @@ var g = &grammar{ }, }, { - name: "QuotedTextInDoubleQuoteItalicText", - pos: position{line: 2138, col: 1, offset: 69812}, + name: "QuotedTextInSingleQuoteBoldText", + pos: position{line: 2041, col: 1, offset: 66527}, expr: &choiceExpr{ - pos: position{line: 2140, col: 5, offset: 69877}, + pos: position{line: 2043, col: 5, offset: 66590}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2140, col: 5, offset: 69877}, - run: (*parser).callonQuotedTextInDoubleQuoteItalicText2, + pos: position{line: 2043, col: 5, offset: 66590}, + run: (*parser).callonQuotedTextInSingleQuoteBoldText2, expr: &seqExpr{ - pos: position{line: 2140, col: 5, offset: 69877}, + pos: position{line: 2043, col: 5, offset: 66590}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2140, col: 5, offset: 69877}, + pos: position{line: 2043, col: 5, offset: 66590}, expr: &litMatcher{ - pos: position{line: 2140, col: 7, offset: 69879}, + pos: position{line: 2043, col: 7, offset: 66592}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2141, col: 5, offset: 69888}, + pos: position{line: 2044, col: 5, offset: 66601}, label: "element", expr: &choiceExpr{ - pos: position{line: 2142, col: 9, offset: 69906}, + pos: position{line: 2045, col: 9, offset: 66619}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2142, col: 9, offset: 69906}, - name: "EscapedBoldText", + pos: position{line: 2045, col: 9, offset: 66619}, + name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 2143, col: 11, offset: 69933}, + pos: position{line: 2046, col: 11, offset: 66647}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 2144, col: 11, offset: 69961}, + pos: position{line: 2047, col: 11, offset: 66675}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2145, col: 11, offset: 69992}, + pos: position{line: 2048, col: 11, offset: 66706}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2146, col: 11, offset: 70023}, + pos: position{line: 2049, col: 11, offset: 66737}, name: "EscapedSuperscriptText", }, }, @@ -11063,50 +53148,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2152, col: 5, offset: 70123}, - run: (*parser).callonQuotedTextInDoubleQuoteItalicText13, + pos: position{line: 2055, col: 5, offset: 66837}, + run: (*parser).callonQuotedTextInSingleQuoteBoldText13, expr: &seqExpr{ - pos: position{line: 2152, col: 5, offset: 70123}, + pos: position{line: 2055, col: 5, offset: 66837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2152, col: 5, offset: 70123}, + pos: position{line: 2055, col: 5, offset: 66837}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2152, col: 16, offset: 70134}, + pos: position{line: 2055, col: 16, offset: 66848}, expr: &ruleRefExpr{ - pos: position{line: 2152, col: 17, offset: 70135}, + pos: position{line: 2055, col: 17, offset: 66849}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2153, col: 5, offset: 70161}, + pos: position{line: 2056, col: 5, offset: 66875}, label: "text", expr: &choiceExpr{ - pos: position{line: 2153, col: 11, offset: 70167}, + pos: position{line: 2057, col: 9, offset: 66890}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2153, col: 11, offset: 70167}, - name: "SingleQuoteItalicText", + pos: position{line: 2057, col: 9, offset: 66890}, + name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 2154, col: 11, offset: 70199}, - name: "BoldText", + pos: position{line: 2058, col: 11, offset: 66920}, + name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2155, col: 11, offset: 70218}, - name: "MarkedText", + pos: position{line: 2059, col: 11, offset: 66941}, + name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2156, col: 11, offset: 70239}, - name: "MonospaceText", + pos: position{line: 2060, col: 11, offset: 66965}, + name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2157, col: 11, offset: 70263}, + pos: position{line: 2061, col: 11, offset: 66986}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2158, col: 11, offset: 70287}, + pos: position{line: 2062, col: 11, offset: 67010}, name: "SuperscriptText", }, }, @@ -11119,449 +53204,156 @@ var g = &grammar{ }, }, { - name: "DoubleQuoteItalicTextFallbackCharacter", - pos: position{line: 2162, col: 1, offset: 70388}, + name: "EscapedBoldText", + pos: position{line: 2072, col: 1, offset: 67435}, expr: &choiceExpr{ - pos: position{line: 2163, col: 5, offset: 70434}, + pos: position{line: 2074, col: 5, offset: 67496}, alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2163, col: 5, offset: 70434}, - val: "[^\\r\\n_]", - chars: []rune{'\r', '\n', '_'}, - ignoreCase: false, - inverted: true, - }, &actionExpr{ - pos: position{line: 2164, col: 7, offset: 70533}, - run: (*parser).callonDoubleQuoteItalicTextFallbackCharacter3, + pos: position{line: 2074, col: 5, offset: 67496}, + run: (*parser).callonEscapedBoldText2, expr: &seqExpr{ - pos: position{line: 2164, col: 7, offset: 70533}, + pos: position{line: 2074, col: 5, offset: 67496}, exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2074, col: 5, offset: 67496}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1942, col: 25, offset: 63439}, + run: (*parser).callonEscapedBoldText5, + expr: &seqExpr{ + pos: position{line: 1942, col: 25, offset: 63439}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1942, col: 25, offset: 63439}, + val: "\\\\", + ignoreCase: false, + want: "\"\\\\\\\\\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1942, col: 30, offset: 63444}, + expr: &litMatcher{ + pos: position{line: 1942, col: 30, offset: 63444}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + }, + }, + }, + }, &litMatcher{ - pos: position{line: 2164, col: 7, offset: 70533}, - val: "__", + pos: position{line: 2074, col: 40, offset: 67531}, + val: "**", ignoreCase: false, - want: "\"__\"", - }, - &ruleRefExpr{ - pos: position{line: 2164, col: 12, offset: 70538}, - name: "Alphanums", - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteItalicTextStartDelimiter", - pos: position{line: 2171, col: 1, offset: 70821}, - expr: &litMatcher{ - pos: position{line: 2171, col: 40, offset: 70860}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - { - name: "SingleQuoteItalicTextEndDelimiter", - pos: position{line: 2173, col: 1, offset: 70866}, - expr: &litMatcher{ - pos: position{line: 2173, col: 38, offset: 70903}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - { - name: "SingleQuoteItalicText", - pos: position{line: 2175, col: 1, offset: 70909}, - expr: &actionExpr{ - pos: position{line: 2176, col: 5, offset: 70939}, - run: (*parser).callonSingleQuoteItalicText1, - expr: &seqExpr{ - pos: position{line: 2176, col: 5, offset: 70939}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2176, col: 5, offset: 70939}, - name: "SingleQuoteItalicTextStartDelimiter", - }, - &labeledExpr{ - pos: position{line: 2177, col: 5, offset: 70979}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2177, col: 15, offset: 70989}, - name: "SingleQuoteItalicTextElements", - }, - }, - &ruleRefExpr{ - pos: position{line: 2178, col: 5, offset: 71025}, - name: "SingleQuoteItalicTextEndDelimiter", - }, - }, - }, - }, - }, - { - name: "SingleQuoteItalicTextElements", - pos: position{line: 2182, col: 1, offset: 71156}, - expr: &actionExpr{ - pos: position{line: 2183, col: 5, offset: 71194}, - run: (*parser).callonSingleQuoteItalicTextElements1, - expr: &seqExpr{ - pos: position{line: 2183, col: 5, offset: 71194}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2183, col: 5, offset: 71194}, - expr: &ruleRefExpr{ - pos: position{line: 2183, col: 6, offset: 71195}, - name: "EOF", - }, - }, - ¬Expr{ - pos: position{line: 2183, col: 10, offset: 71199}, - expr: &ruleRefExpr{ - pos: position{line: 2183, col: 11, offset: 71200}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 2184, col: 5, offset: 71238}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2184, col: 14, offset: 71247}, - expr: &ruleRefExpr{ - pos: position{line: 2184, col: 15, offset: 71248}, - name: "SingleQuoteItalicTextElement", - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2185, col: 5, offset: 71283}, - run: (*parser).callonSingleQuoteItalicTextElements10, - }, - }, - }, - }, - }, - { - name: "SingleQuoteItalicTextElement", - pos: position{line: 2191, col: 1, offset: 71424}, - expr: &choiceExpr{ - pos: position{line: 2192, col: 5, offset: 71461}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2192, col: 5, offset: 71461}, - name: "ItalicTextWord", - }, - &ruleRefExpr{ - pos: position{line: 2193, col: 7, offset: 71482}, - name: "Spaces", - }, - &seqExpr{ - pos: position{line: 2194, col: 7, offset: 71495}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2194, col: 7, offset: 71495}, - name: "Newline", - }, - ¬Expr{ - pos: position{line: 2194, col: 15, offset: 71503}, - expr: &ruleRefExpr{ - pos: position{line: 2194, col: 16, offset: 71504}, - name: "Newline", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2195, col: 7, offset: 71552}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 2196, col: 7, offset: 71577}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2197, col: 7, offset: 71645}, - name: "Symbol", - }, - &ruleRefExpr{ - pos: position{line: 2198, col: 7, offset: 71658}, - name: "SpecialCharacter", - }, - &ruleRefExpr{ - pos: position{line: 2199, col: 7, offset: 71681}, - name: "QuotedTextInSingleQuoteItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2200, col: 7, offset: 71721}, - name: "ElementPlaceHolder", - }, - &ruleRefExpr{ - pos: position{line: 2201, col: 7, offset: 71746}, - name: "SingleQuoteItalicTextFallbackCharacter", - }, - }, - }, - }, - { - name: "QuotedTextInSingleQuoteItalicText", - pos: position{line: 2203, col: 1, offset: 71786}, - expr: &choiceExpr{ - pos: position{line: 2205, col: 5, offset: 71850}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2205, col: 5, offset: 71850}, - run: (*parser).callonQuotedTextInSingleQuoteItalicText2, - expr: &seqExpr{ - pos: position{line: 2205, col: 5, offset: 71850}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 2205, col: 5, offset: 71850}, - expr: &litMatcher{ - pos: position{line: 2205, col: 7, offset: 71852}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &labeledExpr{ - pos: position{line: 2206, col: 5, offset: 71861}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2207, col: 9, offset: 71879}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2207, col: 9, offset: 71879}, - name: "EscapedBoldText", - }, - &ruleRefExpr{ - pos: position{line: 2208, col: 11, offset: 71906}, - name: "EscapedMarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2209, col: 11, offset: 71934}, - name: "EscapedMonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2210, col: 11, offset: 71965}, - name: "EscapedSubscriptText", - }, - &ruleRefExpr{ - pos: position{line: 2211, col: 11, offset: 71996}, - name: "EscapedSuperscriptText", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2217, col: 5, offset: 72096}, - run: (*parser).callonQuotedTextInSingleQuoteItalicText13, - expr: &seqExpr{ - pos: position{line: 2217, col: 5, offset: 72096}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2217, col: 5, offset: 72096}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2217, col: 16, offset: 72107}, - expr: &ruleRefExpr{ - pos: position{line: 2217, col: 17, offset: 72108}, - name: "LongHandAttributes", - }, - }, + want: "\"**\"", }, &labeledExpr{ - pos: position{line: 2218, col: 5, offset: 72134}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2218, col: 11, offset: 72140}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2218, col: 11, offset: 72140}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2219, col: 11, offset: 72159}, - name: "DoubleQuoteItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2220, col: 11, offset: 72191}, - name: "MarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2221, col: 11, offset: 72212}, - name: "MonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2222, col: 11, offset: 72236}, - name: "SubscriptText", - }, - &ruleRefExpr{ - pos: position{line: 2223, col: 11, offset: 72260}, - name: "SuperscriptText", - }, - }, + pos: position{line: 2074, col: 45, offset: 67536}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2074, col: 55, offset: 67546}, + name: "DoubleQuoteBoldTextElements", }, }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteItalicTextFallbackCharacter", - pos: position{line: 2227, col: 1, offset: 72361}, - expr: &choiceExpr{ - pos: position{line: 2228, col: 5, offset: 72407}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2228, col: 5, offset: 72407}, - val: "[^\\r\\n _]", - chars: []rune{'\r', '\n', ' ', '_'}, - ignoreCase: false, - inverted: true, - }, - &actionExpr{ - pos: position{line: 2229, col: 7, offset: 72514}, - run: (*parser).callonSingleQuoteItalicTextFallbackCharacter3, - expr: &seqExpr{ - pos: position{line: 2229, col: 7, offset: 72514}, - exprs: []interface{}{ &litMatcher{ - pos: position{line: 2229, col: 7, offset: 72514}, - val: "_", + pos: position{line: 2074, col: 84, offset: 67575}, + val: "**", ignoreCase: false, - want: "\"_\"", - }, - &ruleRefExpr{ - pos: position{line: 2229, col: 11, offset: 72518}, - name: "Alphanums", + want: "\"**\"", }, }, }, }, - }, - }, - }, - { - name: "EscapedItalicText", - pos: position{line: 2233, col: 1, offset: 72692}, - expr: &choiceExpr{ - pos: position{line: 2235, col: 5, offset: 72757}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2235, col: 5, offset: 72757}, - run: (*parser).callonEscapedItalicText2, + pos: position{line: 2078, col: 7, offset: 67739}, + run: (*parser).callonEscapedBoldText14, expr: &seqExpr{ - pos: position{line: 2235, col: 5, offset: 72757}, + pos: position{line: 2078, col: 7, offset: 67739}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2235, col: 5, offset: 72757}, + pos: position{line: 2078, col: 7, offset: 67739}, label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2235, col: 18, offset: 72770}, - name: "TwoOrMoreBackslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedBoldText17, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, }, }, &litMatcher{ - pos: position{line: 2235, col: 40, offset: 72792}, - val: "__", + pos: position{line: 2078, col: 42, offset: 67774}, + val: "**", ignoreCase: false, - want: "\"__\"", + want: "\"**\"", }, &labeledExpr{ - pos: position{line: 2235, col: 45, offset: 72797}, + pos: position{line: 2078, col: 47, offset: 67779}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2235, col: 55, offset: 72807}, - name: "DoubleQuoteItalicTextElements", + pos: position{line: 2078, col: 57, offset: 67789}, + name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 2235, col: 86, offset: 72838}, - val: "__", + pos: position{line: 2078, col: 86, offset: 67818}, + val: "*", ignoreCase: false, - want: "\"__\"", + want: "\"*\"", }, }, }, }, &actionExpr{ - pos: position{line: 2239, col: 7, offset: 73003}, - run: (*parser).callonEscapedItalicText10, + pos: position{line: 2083, col: 7, offset: 68020}, + run: (*parser).callonEscapedBoldText24, expr: &seqExpr{ - pos: position{line: 2239, col: 7, offset: 73003}, + pos: position{line: 2083, col: 7, offset: 68020}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2239, col: 7, offset: 73003}, + pos: position{line: 2083, col: 7, offset: 68020}, label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2239, col: 20, offset: 73016}, - name: "OneOrMoreBackslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedBoldText27, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, }, }, &litMatcher{ - pos: position{line: 2239, col: 42, offset: 73038}, - val: "__", + pos: position{line: 2083, col: 42, offset: 68055}, + val: "*", ignoreCase: false, - want: "\"__\"", + want: "\"*\"", }, &labeledExpr{ - pos: position{line: 2239, col: 47, offset: 73043}, + pos: position{line: 2083, col: 46, offset: 68059}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2239, col: 57, offset: 73053}, - name: "SingleQuoteItalicTextElements", + pos: position{line: 2083, col: 56, offset: 68069}, + name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 2239, col: 88, offset: 73084}, - val: "_", + pos: position{line: 2083, col: 85, offset: 68098}, + val: "*", ignoreCase: false, - want: "\"_\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2244, col: 7, offset: 73325}, - run: (*parser).callonEscapedItalicText18, - expr: &seqExpr{ - pos: position{line: 2244, col: 7, offset: 73325}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2244, col: 7, offset: 73325}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2244, col: 20, offset: 73338}, - name: "OneOrMoreBackslashes", - }, - }, - &litMatcher{ - pos: position{line: 2244, col: 42, offset: 73360}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - &labeledExpr{ - pos: position{line: 2244, col: 46, offset: 73364}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2244, col: 56, offset: 73374}, - name: "SingleQuoteItalicTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2244, col: 87, offset: 73405}, - val: "_", - ignoreCase: false, - want: "\"_\"", + want: "\"*\"", }, }, }, @@ -11570,252 +53362,1614 @@ var g = &grammar{ }, }, { - name: "MonospaceText", - pos: position{line: 2251, col: 1, offset: 73724}, + name: "ItalicText", + pos: position{line: 2091, col: 1, offset: 68352}, expr: &choiceExpr{ - pos: position{line: 2251, col: 18, offset: 73741}, + pos: position{line: 2091, col: 15, offset: 68366}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2251, col: 18, offset: 73741}, - name: "DoubleQuoteMonospaceText", + pos: position{line: 2091, col: 15, offset: 68366}, + name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 2251, col: 45, offset: 73768}, - name: "SingleQuoteMonospaceText", - }, - }, - }, - }, - { - name: "MonospaceTextDelimiter", - pos: position{line: 2253, col: 1, offset: 73794}, - expr: &litMatcher{ - pos: position{line: 2253, col: 27, offset: 73820}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - { - name: "MonospaceTextWord", - pos: position{line: 2255, col: 1, offset: 73825}, - expr: &actionExpr{ - pos: position{line: 2256, col: 5, offset: 73851}, - run: (*parser).callonMonospaceTextWord1, - expr: &seqExpr{ - pos: position{line: 2256, col: 5, offset: 73851}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2256, col: 5, offset: 73851}, - expr: &charClassMatcher{ - pos: position{line: 2256, col: 5, offset: 73851}, - val: "[\\pL0-9]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2256, col: 15, offset: 73861}, - expr: &choiceExpr{ - pos: position{line: 2256, col: 17, offset: 73863}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2256, col: 17, offset: 73863}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 2256, col: 25, offset: 73871}, - name: "MonospaceTextDelimiter", - }, - }, - }, - }, + pos: position{line: 2091, col: 39, offset: 68390}, + name: "SingleQuoteItalicText", }, }, }, }, { - name: "DoubleQuoteMonospaceTextDelimiter", - pos: position{line: 2263, col: 1, offset: 74077}, - expr: &litMatcher{ - pos: position{line: 2263, col: 38, offset: 74114}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, - }, - { - name: "DoubleQuoteMonospaceText", - pos: position{line: 2265, col: 1, offset: 74120}, + name: "DoubleQuoteItalicText", + pos: position{line: 2105, col: 1, offset: 68718}, expr: &actionExpr{ - pos: position{line: 2266, col: 5, offset: 74153}, - run: (*parser).callonDoubleQuoteMonospaceText1, + pos: position{line: 2106, col: 5, offset: 68748}, + run: (*parser).callonDoubleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 2266, col: 5, offset: 74153}, + pos: position{line: 2106, col: 5, offset: 68748}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2266, col: 5, offset: 74153}, - name: "DoubleQuoteMonospaceTextDelimiter", + &litMatcher{ + pos: position{line: 2103, col: 35, offset: 68712}, + val: "__", + ignoreCase: false, + want: "\"__\"", }, &labeledExpr{ - pos: position{line: 2267, col: 5, offset: 74192}, + pos: position{line: 2107, col: 5, offset: 68784}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2267, col: 15, offset: 74202}, - name: "DoubleQuoteMonospaceTextElements", + pos: position{line: 2107, col: 15, offset: 68794}, + name: "DoubleQuoteItalicTextElements", }, }, - &ruleRefExpr{ - pos: position{line: 2268, col: 5, offset: 74241}, - name: "DoubleQuoteMonospaceTextDelimiter", + &litMatcher{ + pos: position{line: 2103, col: 35, offset: 68712}, + val: "__", + ignoreCase: false, + want: "\"__\"", }, }, }, }, }, { - name: "DoubleQuoteMonospaceTextElements", - pos: position{line: 2272, col: 1, offset: 74374}, + name: "DoubleQuoteItalicTextElements", + pos: position{line: 2112, col: 1, offset: 69002}, expr: &oneOrMoreExpr{ - pos: position{line: 2272, col: 37, offset: 74410}, + pos: position{line: 2112, col: 34, offset: 69035}, expr: &ruleRefExpr{ - pos: position{line: 2272, col: 37, offset: 74410}, - name: "DoubleQuoteMonospaceTextElement", + pos: position{line: 2112, col: 34, offset: 69035}, + name: "DoubleQuoteItalicTextElement", }, }, }, { - name: "DoubleQuoteMonospaceTextElement", - pos: position{line: 2274, col: 1, offset: 74477}, + name: "DoubleQuoteItalicTextElement", + pos: position{line: 2114, col: 1, offset: 69067}, expr: &actionExpr{ - pos: position{line: 2275, col: 5, offset: 74517}, - run: (*parser).callonDoubleQuoteMonospaceTextElement1, + pos: position{line: 2115, col: 5, offset: 69104}, + run: (*parser).callonDoubleQuoteItalicTextElement1, expr: &seqExpr{ - pos: position{line: 2275, col: 5, offset: 74517}, + pos: position{line: 2115, col: 5, offset: 69104}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2275, col: 5, offset: 74517}, - expr: &ruleRefExpr{ - pos: position{line: 2275, col: 6, offset: 74518}, - name: "DoubleQuoteMonospaceTextDelimiter", + pos: position{line: 2115, col: 5, offset: 69104}, + expr: &litMatcher{ + pos: position{line: 2103, col: 35, offset: 68712}, + val: "__", + ignoreCase: false, + want: "\"__\"", }, }, &labeledExpr{ - pos: position{line: 2276, col: 5, offset: 74556}, + pos: position{line: 2116, col: 5, offset: 69140}, label: "element", expr: &choiceExpr{ - pos: position{line: 2277, col: 9, offset: 74574}, + pos: position{line: 2117, col: 9, offset: 69158}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2277, col: 9, offset: 74574}, - name: "MonospaceTextWord", + &actionExpr{ + pos: position{line: 2096, col: 5, offset: 68464}, + run: (*parser).callonDoubleQuoteItalicTextElement7, + expr: &seqExpr{ + pos: position{line: 2096, col: 5, offset: 68464}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2096, col: 5, offset: 68464}, + expr: &charClassMatcher{ + pos: position{line: 2096, col: 5, offset: 68464}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2096, col: 15, offset: 68474}, + expr: &choiceExpr{ + pos: position{line: 2096, col: 17, offset: 68476}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteItalicTextElement13, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 2093, col: 24, offset: 68436}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2278, col: 11, offset: 74602}, - name: "Spaces", + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonDoubleQuoteItalicTextElement16, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, }, &seqExpr{ - pos: position{line: 2279, col: 11, offset: 74652}, + pos: position{line: 2119, col: 11, offset: 69233}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2279, col: 11, offset: 74652}, - name: "Newline", + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteItalicTextElement20, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, ¬Expr{ - pos: position{line: 2279, col: 19, offset: 74660}, - expr: &ruleRefExpr{ - pos: position{line: 2279, col: 20, offset: 74661}, - name: "Newline", + pos: position{line: 2119, col: 19, offset: 69241}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteItalicTextElement26, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 2280, col: 11, offset: 74713}, - name: "AttributeReference", + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuoteItalicTextElement31, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuoteItalicTextElement33, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonDoubleQuoteItalicTextElement36, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteItalicTextElement40, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuoteItalicTextElement47, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuoteItalicTextElement52, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuoteItalicTextElement54, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonDoubleQuoteItalicTextElement58, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteItalicTextElement62, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuoteItalicTextElement69, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuoteItalicTextElement74, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuoteItalicTextElement76, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuoteItalicTextElement80, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteItalicTextElement84, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuoteItalicTextElement90, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteItalicTextElement94, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, }, &ruleRefExpr{ - pos: position{line: 2281, col: 11, offset: 74742}, + pos: position{line: 2121, col: 11, offset: 69323}, name: "InlineMacro", }, - &ruleRefExpr{ - pos: position{line: 2282, col: 11, offset: 74764}, - name: "Symbol", + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonDoubleQuoteItalicTextElement101, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuoteItalicTextElement105, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuoteItalicTextElement107, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuoteItalicTextElement109, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuoteItalicTextElement111, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteItalicTextElement113, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonDoubleQuoteItalicTextElement115, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonDoubleQuoteItalicTextElement117, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonDoubleQuoteItalicTextElement119, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonDoubleQuoteItalicTextElement121, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteItalicTextElement123, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteItalicTextElement125, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteItalicTextElement128, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteItalicTextElement132, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteItalicTextElement139, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteItalicTextElement141, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteItalicTextElement146, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonDoubleQuoteItalicTextElement153, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonDoubleQuoteItalicTextElement155, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonDoubleQuoteItalicTextElement157, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2283, col: 11, offset: 74781}, - name: "SpecialCharacter", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuoteItalicTextElement159, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2284, col: 11, offset: 74858}, - name: "RawApostrophe", + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuoteItalicTextElement161, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2285, col: 11, offset: 74925}, - name: "QuotedTextInDoubleQuoteMonospaceText", + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuoteItalicTextElement163, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2286, col: 11, offset: 74972}, - name: "ElementPlaceHolder", + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuoteItalicTextElement165, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2287, col: 11, offset: 75001}, - name: "DoubleQuoteMonospaceTextFallbackCharacter", + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteItalicTextElement167, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, }, - }, - }, - }, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonDoubleQuoteItalicTextElement169, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonDoubleQuoteItalicTextElement171, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonDoubleQuoteItalicTextElement173, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteItalicTextElement175, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteItalicTextElement177, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteItalicTextElement180, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteItalicTextElement184, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteItalicTextElement191, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteItalicTextElement193, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteItalicTextElement198, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonDoubleQuoteItalicTextElement205, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonDoubleQuoteItalicTextElement207, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonDoubleQuoteItalicTextElement209, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonDoubleQuoteItalicTextElement211, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonDoubleQuoteItalicTextElement213, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonDoubleQuoteItalicTextElement219, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonDoubleQuoteItalicTextElement225, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonDoubleQuoteItalicTextElement227, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonDoubleQuoteItalicTextElement230, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonDoubleQuoteItalicTextElement232, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonDoubleQuoteItalicTextElement236, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteItalicTextElement240, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonDoubleQuoteItalicTextElement246, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuoteItalicTextElement251, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteItalicTextElement255, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuoteItalicTextElement261, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteItalicTextElement265, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonDoubleQuoteItalicTextElement271, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonDoubleQuoteItalicTextElement274, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonDoubleQuoteItalicTextElement278, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonDoubleQuoteItalicTextElement282, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2124, col: 11, offset: 69439}, + name: "QuotedTextInDoubleQuoteItalicText", + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonDoubleQuoteItalicTextElement285, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonDoubleQuoteItalicTextElement289, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &charClassMatcher{ + pos: position{line: 2155, col: 5, offset: 70219}, + val: "[^\\r\\n_]", + chars: []rune{'\r', '\n', '_'}, + ignoreCase: false, + inverted: true, + }, + &actionExpr{ + pos: position{line: 2156, col: 7, offset: 70318}, + run: (*parser).callonDoubleQuoteItalicTextElement294, + expr: &seqExpr{ + pos: position{line: 2156, col: 7, offset: 70318}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2156, col: 7, offset: 70318}, + val: "__", + ignoreCase: false, + want: "\"__\"", + }, + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonDoubleQuoteItalicTextElement297, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, { - name: "QuotedTextInDoubleQuoteMonospaceText", - pos: position{line: 2291, col: 1, offset: 75089}, + name: "QuotedTextInDoubleQuoteItalicText", + pos: position{line: 2130, col: 1, offset: 69597}, expr: &choiceExpr{ - pos: position{line: 2293, col: 5, offset: 75156}, + pos: position{line: 2132, col: 5, offset: 69662}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2293, col: 5, offset: 75156}, - run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText2, + pos: position{line: 2132, col: 5, offset: 69662}, + run: (*parser).callonQuotedTextInDoubleQuoteItalicText2, expr: &seqExpr{ - pos: position{line: 2293, col: 5, offset: 75156}, + pos: position{line: 2132, col: 5, offset: 69662}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2293, col: 5, offset: 75156}, + pos: position{line: 2132, col: 5, offset: 69662}, expr: &litMatcher{ - pos: position{line: 2293, col: 7, offset: 75158}, + pos: position{line: 2132, col: 7, offset: 69664}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2294, col: 5, offset: 75167}, + pos: position{line: 2133, col: 5, offset: 69673}, label: "element", expr: &choiceExpr{ - pos: position{line: 2295, col: 9, offset: 75185}, + pos: position{line: 2134, col: 9, offset: 69691}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2295, col: 9, offset: 75185}, + pos: position{line: 2134, col: 9, offset: 69691}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 2296, col: 11, offset: 75212}, - name: "EscapedItalicText", + pos: position{line: 2135, col: 11, offset: 69718}, + name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 2297, col: 11, offset: 75240}, - name: "EscapedMarkedText", + pos: position{line: 2136, col: 11, offset: 69746}, + name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2298, col: 11, offset: 75268}, + pos: position{line: 2137, col: 11, offset: 69777}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2299, col: 11, offset: 75299}, + pos: position{line: 2138, col: 11, offset: 69808}, name: "EscapedSuperscriptText", }, }, @@ -11825,50 +54979,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2305, col: 5, offset: 75399}, - run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText13, + pos: position{line: 2144, col: 5, offset: 69908}, + run: (*parser).callonQuotedTextInDoubleQuoteItalicText13, expr: &seqExpr{ - pos: position{line: 2305, col: 5, offset: 75399}, + pos: position{line: 2144, col: 5, offset: 69908}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2305, col: 5, offset: 75399}, + pos: position{line: 2144, col: 5, offset: 69908}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2305, col: 16, offset: 75410}, + pos: position{line: 2144, col: 16, offset: 69919}, expr: &ruleRefExpr{ - pos: position{line: 2305, col: 17, offset: 75411}, + pos: position{line: 2144, col: 17, offset: 69920}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2306, col: 5, offset: 75437}, + pos: position{line: 2145, col: 5, offset: 69946}, label: "text", expr: &choiceExpr{ - pos: position{line: 2307, col: 9, offset: 75452}, + pos: position{line: 2145, col: 11, offset: 69952}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2307, col: 9, offset: 75452}, - name: "SingleQuoteMonospaceText", + pos: position{line: 2145, col: 11, offset: 69952}, + name: "SingleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 2308, col: 11, offset: 75487}, + pos: position{line: 2146, col: 11, offset: 69984}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2309, col: 11, offset: 75506}, - name: "ItalicText", + pos: position{line: 2147, col: 11, offset: 70003}, + name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2310, col: 11, offset: 75527}, - name: "MarkedText", + pos: position{line: 2148, col: 11, offset: 70024}, + name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2311, col: 11, offset: 75548}, + pos: position{line: 2149, col: 11, offset: 70048}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2312, col: 11, offset: 75572}, + pos: position{line: 2150, col: 11, offset: 70072}, name: "SuperscriptText", }, }, @@ -11881,242 +55035,133 @@ var g = &grammar{ }, }, { - name: "DoubleQuoteMonospaceTextFallbackCharacter", - pos: position{line: 2316, col: 1, offset: 75674}, - expr: &choiceExpr{ - pos: position{line: 2317, col: 5, offset: 75723}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2317, col: 5, offset: 75723}, - val: "[^\\r\\n`]", - chars: []rune{'\r', '\n', '`'}, - ignoreCase: false, - inverted: true, - }, - &actionExpr{ - pos: position{line: 2318, col: 7, offset: 75825}, - run: (*parser).callonDoubleQuoteMonospaceTextFallbackCharacter3, - expr: &seqExpr{ - pos: position{line: 2318, col: 7, offset: 75825}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2318, col: 7, offset: 75825}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, - &ruleRefExpr{ - pos: position{line: 2318, col: 12, offset: 75830}, - name: "Alphanums", - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteMonospaceTextStartDelimiter", - pos: position{line: 2327, col: 1, offset: 76217}, - expr: &litMatcher{ - pos: position{line: 2327, col: 43, offset: 76259}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - { - name: "SingleQuoteMonospaceTextEndDelimiter", - pos: position{line: 2329, col: 1, offset: 76265}, - expr: &litMatcher{ - pos: position{line: 2329, col: 41, offset: 76305}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - { - name: "SingleQuoteMonospaceText", - pos: position{line: 2331, col: 1, offset: 76311}, + name: "SingleQuoteItalicText", + pos: position{line: 2167, col: 1, offset: 70694}, expr: &actionExpr{ - pos: position{line: 2332, col: 5, offset: 76344}, - run: (*parser).callonSingleQuoteMonospaceText1, + pos: position{line: 2168, col: 5, offset: 70724}, + run: (*parser).callonSingleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 2332, col: 5, offset: 76344}, + pos: position{line: 2168, col: 5, offset: 70724}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2332, col: 5, offset: 76344}, - name: "SingleQuoteMonospaceTextStartDelimiter", + &litMatcher{ + pos: position{line: 2163, col: 40, offset: 70645}, + val: "_", + ignoreCase: false, + want: "\"_\"", }, &labeledExpr{ - pos: position{line: 2333, col: 5, offset: 76388}, + pos: position{line: 2169, col: 5, offset: 70764}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2333, col: 15, offset: 76398}, - name: "SingleQuoteMonospaceTextElements", + pos: position{line: 2169, col: 15, offset: 70774}, + name: "SingleQuoteItalicTextElements", }, }, - &ruleRefExpr{ - pos: position{line: 2334, col: 5, offset: 76437}, - name: "SingleQuoteMonospaceTextEndDelimiter", + &litMatcher{ + pos: position{line: 2165, col: 38, offset: 70688}, + val: "_", + ignoreCase: false, + want: "\"_\"", }, }, }, }, }, { - name: "SingleQuoteMonospaceTextElements", - pos: position{line: 2338, col: 1, offset: 76574}, + name: "SingleQuoteItalicTextElements", + pos: position{line: 2174, col: 1, offset: 70941}, expr: &actionExpr{ - pos: position{line: 2339, col: 5, offset: 76615}, - run: (*parser).callonSingleQuoteMonospaceTextElements1, + pos: position{line: 2175, col: 5, offset: 70979}, + run: (*parser).callonSingleQuoteItalicTextElements1, expr: &seqExpr{ - pos: position{line: 2339, col: 5, offset: 76615}, + pos: position{line: 2175, col: 5, offset: 70979}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2339, col: 5, offset: 76615}, - expr: &ruleRefExpr{ - pos: position{line: 2339, col: 6, offset: 76616}, - name: "EOF", + pos: position{line: 2175, col: 5, offset: 70979}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, ¬Expr{ - pos: position{line: 2339, col: 10, offset: 76620}, - expr: &ruleRefExpr{ - pos: position{line: 2339, col: 11, offset: 76621}, - name: "Space", + pos: position{line: 2175, col: 10, offset: 70984}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteItalicTextElements7, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, &labeledExpr{ - pos: position{line: 2340, col: 5, offset: 76659}, + pos: position{line: 2176, col: 5, offset: 71023}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2340, col: 14, offset: 76668}, + pos: position{line: 2176, col: 14, offset: 71032}, expr: &ruleRefExpr{ - pos: position{line: 2340, col: 15, offset: 76669}, - name: "SingleQuoteMonospaceTextElement", + pos: position{line: 2176, col: 15, offset: 71033}, + name: "SingleQuoteItalicTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2341, col: 5, offset: 76707}, - run: (*parser).callonSingleQuoteMonospaceTextElements10, + pos: position{line: 2177, col: 5, offset: 71068}, + run: (*parser).callonSingleQuoteItalicTextElements12, }, }, }, }, }, { - name: "SingleQuoteMonospaceTextElement", - pos: position{line: 2347, col: 1, offset: 76848}, - expr: &choiceExpr{ - pos: position{line: 2348, col: 5, offset: 76889}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2348, col: 5, offset: 76889}, - name: "Word", - }, - &ruleRefExpr{ - pos: position{line: 2349, col: 7, offset: 76900}, - name: "Spaces", - }, - &seqExpr{ - pos: position{line: 2350, col: 7, offset: 76914}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2350, col: 7, offset: 76914}, - name: "Newline", - }, - ¬Expr{ - pos: position{line: 2350, col: 15, offset: 76922}, - expr: &ruleRefExpr{ - pos: position{line: 2350, col: 16, offset: 76923}, - name: "Newline", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2351, col: 7, offset: 76971}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 2352, col: 7, offset: 76996}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2353, col: 7, offset: 77015}, - name: "Symbol", - }, - &ruleRefExpr{ - pos: position{line: 2354, col: 7, offset: 77028}, - name: "SpecialCharacter", - }, - &ruleRefExpr{ - pos: position{line: 2355, col: 7, offset: 77101}, - name: "QuotedTextInSingleQuoteMonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2356, col: 7, offset: 77144}, - name: "RawApostrophe", - }, - &ruleRefExpr{ - pos: position{line: 2357, col: 7, offset: 77164}, - name: "ElementPlaceHolder", - }, - &ruleRefExpr{ - pos: position{line: 2358, col: 7, offset: 77189}, - name: "SingleQuoteMonospaceTextFallbackCharacter", - }, - }, - }, - }, - { - name: "QuotedTextInSingleQuoteMonospaceText", - pos: position{line: 2360, col: 1, offset: 77232}, + name: "SingleQuoteItalicTextElement", + pos: position{line: 2183, col: 1, offset: 71209}, expr: &choiceExpr{ - pos: position{line: 2362, col: 5, offset: 77299}, + pos: position{line: 2184, col: 5, offset: 71246}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2362, col: 5, offset: 77299}, - run: (*parser).callonQuotedTextInSingleQuoteMonospaceText2, + pos: position{line: 2096, col: 5, offset: 68464}, + run: (*parser).callonSingleQuoteItalicTextElement2, expr: &seqExpr{ - pos: position{line: 2362, col: 5, offset: 77299}, + pos: position{line: 2096, col: 5, offset: 68464}, exprs: []interface{}{ - &andExpr{ - pos: position{line: 2362, col: 5, offset: 77299}, - expr: &litMatcher{ - pos: position{line: 2362, col: 7, offset: 77301}, - val: "\\", + &oneOrMoreExpr{ + pos: position{line: 2096, col: 5, offset: 68464}, + expr: &charClassMatcher{ + pos: position{line: 2096, col: 5, offset: 68464}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"\\\\\"", + inverted: false, }, }, - &labeledExpr{ - pos: position{line: 2363, col: 5, offset: 77310}, - label: "element", + &andExpr{ + pos: position{line: 2096, col: 15, offset: 68474}, expr: &choiceExpr{ - pos: position{line: 2364, col: 9, offset: 77328}, + pos: position{line: 2096, col: 17, offset: 68476}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2364, col: 9, offset: 77328}, - name: "EscapedBoldText", - }, - &ruleRefExpr{ - pos: position{line: 2365, col: 11, offset: 77355}, - name: "EscapedItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2366, col: 11, offset: 77383}, - name: "EscapedMarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2367, col: 11, offset: 77411}, - name: "EscapedSubscriptText", + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteItalicTextElement8, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, - &ruleRefExpr{ - pos: position{line: 2368, col: 11, offset: 77442}, - name: "EscapedSuperscriptText", + &litMatcher{ + pos: position{line: 2093, col: 24, offset: 68436}, + val: "_", + ignoreCase: false, + want: "\"_\"", }, }, }, @@ -12125,51 +55170,74 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2374, col: 5, offset: 77542}, - run: (*parser).callonQuotedTextInSingleQuoteMonospaceText13, - expr: &seqExpr{ - pos: position{line: 2374, col: 5, offset: 77542}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2374, col: 5, offset: 77542}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2374, col: 16, offset: 77553}, - expr: &ruleRefExpr{ - pos: position{line: 2374, col: 17, offset: 77554}, - name: "LongHandAttributes", + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonSingleQuoteItalicTextElement11, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2186, col: 7, offset: 71280}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteItalicTextElement15, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &labeledExpr{ - pos: position{line: 2375, col: 5, offset: 77580}, - label: "text", + }, + ¬Expr{ + pos: position{line: 2186, col: 15, offset: 71288}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteItalicTextElement21, expr: &choiceExpr{ - pos: position{line: 2376, col: 9, offset: 77595}, + pos: position{line: 3128, col: 13, offset: 101145}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2376, col: 9, offset: 77595}, - name: "DoubleQuoteMonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2377, col: 11, offset: 77630}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2378, col: 11, offset: 77649}, - name: "ItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2379, col: 11, offset: 77670}, - name: "MarkedText", + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &ruleRefExpr{ - pos: position{line: 2380, col: 11, offset: 77691}, - name: "SubscriptText", + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &ruleRefExpr{ - pos: position{line: 2381, col: 11, offset: 77715}, - name: "SuperscriptText", + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, @@ -12177,353 +55245,1352 @@ var g = &grammar{ }, }, }, - }, - }, - }, - { - name: "SingleQuoteMonospaceTextFallbackCharacter", - pos: position{line: 2385, col: 1, offset: 77817}, - expr: &actionExpr{ - pos: position{line: 2386, col: 5, offset: 77866}, - run: (*parser).callonSingleQuoteMonospaceTextFallbackCharacter1, - expr: &choiceExpr{ - pos: position{line: 2386, col: 6, offset: 77867}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2386, col: 6, offset: 77867}, - val: "[^\\r\\n` ]", - chars: []rune{'\r', '\n', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - &seqExpr{ - pos: position{line: 2387, col: 7, offset: 77979}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2387, col: 7, offset: 77979}, - name: "MonospaceTextDelimiter", - }, - &ruleRefExpr{ - pos: position{line: 2387, col: 30, offset: 78002}, - name: "Alphanums", - }, - }, - }, - }, - }, - }, - }, - { - name: "EscapedMonospaceText", - pos: position{line: 2391, col: 1, offset: 78180}, - expr: &choiceExpr{ - pos: position{line: 2393, col: 5, offset: 78251}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2393, col: 5, offset: 78251}, - run: (*parser).callonEscapedMonospaceText2, + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuoteItalicTextElement26, expr: &seqExpr{ - pos: position{line: 2393, col: 5, offset: 78251}, + pos: position{line: 647, col: 5, offset: 20685}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2393, col: 5, offset: 78251}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2393, col: 18, offset: 78264}, - name: "TwoOrMoreBackslashes", - }, - }, - &litMatcher{ - pos: position{line: 2393, col: 40, offset: 78286}, - val: "``", - ignoreCase: false, - want: "\"``\"", + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuoteItalicTextElement28, }, &labeledExpr{ - pos: position{line: 2393, col: 45, offset: 78291}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2393, col: 55, offset: 78301}, - name: "DoubleQuoteMonospaceTextElements", + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonSingleQuoteItalicTextElement31, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteItalicTextElement35, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuoteItalicTextElement42, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuoteItalicTextElement47, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuoteItalicTextElement49, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonSingleQuoteItalicTextElement53, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteItalicTextElement57, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuoteItalicTextElement64, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuoteItalicTextElement69, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuoteItalicTextElement71, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuoteItalicTextElement75, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteItalicTextElement79, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuoteItalicTextElement85, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteItalicTextElement89, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, }, }, - &litMatcher{ - pos: position{line: 2393, col: 89, offset: 78335}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, }, }, }, + &ruleRefExpr{ + pos: position{line: 2188, col: 7, offset: 71362}, + name: "InlineMacro", + }, &actionExpr{ - pos: position{line: 2397, col: 7, offset: 78504}, - run: (*parser).callonEscapedMonospaceText10, + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonSingleQuoteItalicTextElement96, expr: &seqExpr{ - pos: position{line: 2397, col: 7, offset: 78504}, + pos: position{line: 2790, col: 5, offset: 91187}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2397, col: 7, offset: 78504}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2397, col: 20, offset: 78517}, - name: "OneOrMoreBackslashes", - }, - }, - &litMatcher{ - pos: position{line: 2397, col: 42, offset: 78539}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, - &labeledExpr{ - pos: position{line: 2397, col: 47, offset: 78544}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2397, col: 57, offset: 78554}, - name: "SingleQuoteMonospaceTextElements", - }, - }, &litMatcher{ - pos: position{line: 2397, col: 91, offset: 78588}, - val: "`", + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", ignoreCase: false, - want: "\"`\"", + want: "\"\\\\\"", }, - }, - }, - }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuoteItalicTextElement100, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuoteItalicTextElement102, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuoteItalicTextElement104, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuoteItalicTextElement106, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteItalicTextElement108, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSingleQuoteItalicTextElement110, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSingleQuoteItalicTextElement112, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSingleQuoteItalicTextElement114, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSingleQuoteItalicTextElement116, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteItalicTextElement118, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteItalicTextElement120, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteItalicTextElement123, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteItalicTextElement127, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteItalicTextElement134, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteItalicTextElement136, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteItalicTextElement141, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSingleQuoteItalicTextElement148, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSingleQuoteItalicTextElement150, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSingleQuoteItalicTextElement152, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuoteItalicTextElement154, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuoteItalicTextElement156, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuoteItalicTextElement158, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuoteItalicTextElement160, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteItalicTextElement162, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSingleQuoteItalicTextElement164, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSingleQuoteItalicTextElement166, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSingleQuoteItalicTextElement168, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, &actionExpr{ - pos: position{line: 2402, col: 7, offset: 78794}, - run: (*parser).callonEscapedMonospaceText18, + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteItalicTextElement170, expr: &seqExpr{ - pos: position{line: 2402, col: 7, offset: 78794}, + pos: position{line: 2833, col: 5, offset: 92296}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2402, col: 7, offset: 78794}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2402, col: 20, offset: 78807}, - name: "OneOrMoreBackslashes", - }, + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteItalicTextElement172, }, &litMatcher{ - pos: position{line: 2402, col: 42, offset: 78829}, - val: "`", + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", ignoreCase: false, - want: "\"`\"", + want: "\"--\"", }, - &labeledExpr{ - pos: position{line: 2402, col: 46, offset: 78833}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2402, col: 56, offset: 78843}, - name: "SingleQuoteMonospaceTextElements", + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteItalicTextElement175, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteItalicTextElement179, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, }, }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteItalicTextElement186, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteItalicTextElement188, + }, &litMatcher{ - pos: position{line: 2402, col: 90, offset: 78877}, - val: "`", + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", ignoreCase: false, - want: "\"`\"", + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteItalicTextElement193, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, }, }, }, }, - }, - }, - }, - { - name: "MarkedText", - pos: position{line: 2409, col: 1, offset: 79129}, - expr: &choiceExpr{ - pos: position{line: 2409, col: 15, offset: 79143}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2409, col: 15, offset: 79143}, - name: "DoubleQuoteMarkedText", + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSingleQuoteItalicTextElement200, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2409, col: 39, offset: 79167}, - name: "SingleQuoteMarkedText", + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSingleQuoteItalicTextElement202, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, }, - }, - }, - }, - { - name: "MarkedTextDelimiter", - pos: position{line: 2411, col: 1, offset: 79190}, - expr: &litMatcher{ - pos: position{line: 2411, col: 24, offset: 79213}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - { - name: "MarkedTextWord", - pos: position{line: 2413, col: 1, offset: 79218}, - expr: &actionExpr{ - pos: position{line: 2414, col: 5, offset: 79241}, - run: (*parser).callonMarkedTextWord1, - expr: &seqExpr{ - pos: position{line: 2414, col: 5, offset: 79241}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2414, col: 5, offset: 79241}, - expr: &charClassMatcher{ - pos: position{line: 2414, col: 5, offset: 79241}, - val: "[\\pL0-9,?!;]", - chars: []rune{',', '?', '!', ';'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSingleQuoteItalicTextElement204, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", }, - &andExpr{ - pos: position{line: 2414, col: 19, offset: 79255}, - expr: &choiceExpr{ - pos: position{line: 2414, col: 21, offset: 79257}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2414, col: 21, offset: 79257}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 2414, col: 29, offset: 79265}, - name: "MarkedTextDelimiter", + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSingleQuoteItalicTextElement206, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonSingleQuoteItalicTextElement208, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, - }, - }, - }, - { - name: "DoubleQuoteMarkedTextDelimiter", - pos: position{line: 2421, col: 1, offset: 79465}, - expr: &litMatcher{ - pos: position{line: 2421, col: 35, offset: 79499}, - val: "##", - ignoreCase: false, - want: "\"##\"", - }, - }, - { - name: "DoubleQuoteMarkedText", - pos: position{line: 2423, col: 1, offset: 79505}, - expr: &actionExpr{ - pos: position{line: 2424, col: 5, offset: 79535}, - run: (*parser).callonDoubleQuoteMarkedText1, - expr: &seqExpr{ - pos: position{line: 2424, col: 5, offset: 79535}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2424, col: 5, offset: 79535}, - name: "DoubleQuoteMarkedTextDelimiter", - }, - &labeledExpr{ - pos: position{line: 2425, col: 5, offset: 79571}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2425, col: 15, offset: 79581}, - name: "DoubleQuoteMarkedTextElements", + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonSingleQuoteItalicTextElement214, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, - &ruleRefExpr{ - pos: position{line: 2426, col: 5, offset: 79617}, - name: "DoubleQuoteMarkedTextDelimiter", - }, }, - }, - }, - }, - { - name: "DoubleQuoteMarkedTextElements", - pos: position{line: 2430, col: 1, offset: 79744}, - expr: &zeroOrMoreExpr{ - pos: position{line: 2430, col: 34, offset: 79777}, - expr: &ruleRefExpr{ - pos: position{line: 2430, col: 34, offset: 79777}, - name: "DoubleQuoteMarkedTextElement", - }, - }, - }, - { - name: "DoubleQuoteMarkedTextElement", - pos: position{line: 2432, col: 1, offset: 79808}, - expr: &actionExpr{ - pos: position{line: 2433, col: 5, offset: 79877}, - run: (*parser).callonDoubleQuoteMarkedTextElement1, - expr: &seqExpr{ - pos: position{line: 2433, col: 5, offset: 79877}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2433, col: 5, offset: 79877}, - expr: &ruleRefExpr{ - pos: position{line: 2433, col: 6, offset: 79878}, - name: "DoubleQuoteMarkedTextDelimiter", - }, - }, - &labeledExpr{ - pos: position{line: 2434, col: 5, offset: 79913}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2435, col: 9, offset: 79931}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2435, col: 9, offset: 79931}, - name: "MarkedTextWord", - }, - &ruleRefExpr{ - pos: position{line: 2436, col: 11, offset: 79956}, - name: "Spaces", - }, - &seqExpr{ - pos: position{line: 2437, col: 11, offset: 80006}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2437, col: 11, offset: 80006}, - name: "Newline", + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSingleQuoteItalicTextElement220, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSingleQuoteItalicTextElement222, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonSingleQuoteItalicTextElement225, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonSingleQuoteItalicTextElement227, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSingleQuoteItalicTextElement231, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteItalicTextElement235, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonSingleQuoteItalicTextElement241, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuoteItalicTextElement246, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteItalicTextElement250, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuoteItalicTextElement256, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteItalicTextElement260, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonSingleQuoteItalicTextElement266, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonSingleQuoteItalicTextElement269, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSingleQuoteItalicTextElement273, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, }, - ¬Expr{ - pos: position{line: 2437, col: 19, offset: 80014}, - expr: &ruleRefExpr{ - pos: position{line: 2437, col: 20, offset: 80015}, - name: "Newline", + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonSingleQuoteItalicTextElement277, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 2438, col: 11, offset: 80067}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 2439, col: 11, offset: 80096}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2440, col: 11, offset: 80118}, - name: "Symbol", - }, - &ruleRefExpr{ - pos: position{line: 2441, col: 11, offset: 80135}, - name: "SpecialCharacter", - }, - &ruleRefExpr{ - pos: position{line: 2442, col: 11, offset: 80212}, - name: "QuotedTextInDoubleMarkedBoldText", - }, - &ruleRefExpr{ - pos: position{line: 2443, col: 11, offset: 80255}, - name: "ElementPlaceHolder", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2191, col: 7, offset: 71466}, + name: "QuotedTextInSingleQuoteItalicText", + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonSingleQuoteItalicTextElement280, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonSingleQuoteItalicTextElement284, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2444, col: 11, offset: 80284}, - name: "DoubleQuoteMarkedTextFallbackCharacter", + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &charClassMatcher{ + pos: position{line: 2220, col: 5, offset: 72192}, + val: "[^\\r\\n _]", + chars: []rune{'\r', '\n', ' ', '_'}, + ignoreCase: false, + inverted: true, + }, + &actionExpr{ + pos: position{line: 2221, col: 7, offset: 72299}, + run: (*parser).callonSingleQuoteItalicTextElement289, + expr: &seqExpr{ + pos: position{line: 2221, col: 7, offset: 72299}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2221, col: 7, offset: 72299}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonSingleQuoteItalicTextElement292, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -12533,50 +56600,50 @@ var g = &grammar{ }, }, { - name: "QuotedTextInDoubleMarkedBoldText", - pos: position{line: 2449, col: 1, offset: 80366}, + name: "QuotedTextInSingleQuoteItalicText", + pos: position{line: 2195, col: 1, offset: 71571}, expr: &choiceExpr{ - pos: position{line: 2451, col: 5, offset: 80429}, + pos: position{line: 2197, col: 5, offset: 71635}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2451, col: 5, offset: 80429}, - run: (*parser).callonQuotedTextInDoubleMarkedBoldText2, + pos: position{line: 2197, col: 5, offset: 71635}, + run: (*parser).callonQuotedTextInSingleQuoteItalicText2, expr: &seqExpr{ - pos: position{line: 2451, col: 5, offset: 80429}, + pos: position{line: 2197, col: 5, offset: 71635}, exprs: []interface{}{ &andExpr{ - pos: position{line: 2451, col: 5, offset: 80429}, + pos: position{line: 2197, col: 5, offset: 71635}, expr: &litMatcher{ - pos: position{line: 2451, col: 7, offset: 80431}, + pos: position{line: 2197, col: 7, offset: 71637}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 2452, col: 5, offset: 80440}, + pos: position{line: 2198, col: 5, offset: 71646}, label: "element", expr: &choiceExpr{ - pos: position{line: 2453, col: 9, offset: 80458}, + pos: position{line: 2199, col: 9, offset: 71664}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2453, col: 9, offset: 80458}, + pos: position{line: 2199, col: 9, offset: 71664}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 2454, col: 11, offset: 80485}, - name: "EscapedItalicText", + pos: position{line: 2200, col: 11, offset: 71691}, + name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 2455, col: 11, offset: 80513}, + pos: position{line: 2201, col: 11, offset: 71719}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2456, col: 11, offset: 80544}, + pos: position{line: 2202, col: 11, offset: 71750}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 2457, col: 11, offset: 80575}, + pos: position{line: 2203, col: 11, offset: 71781}, name: "EscapedSuperscriptText", }, }, @@ -12586,50 +56653,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2463, col: 5, offset: 80675}, - run: (*parser).callonQuotedTextInDoubleMarkedBoldText13, + pos: position{line: 2209, col: 5, offset: 71881}, + run: (*parser).callonQuotedTextInSingleQuoteItalicText13, expr: &seqExpr{ - pos: position{line: 2463, col: 5, offset: 80675}, + pos: position{line: 2209, col: 5, offset: 71881}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2463, col: 5, offset: 80675}, + pos: position{line: 2209, col: 5, offset: 71881}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2463, col: 16, offset: 80686}, + pos: position{line: 2209, col: 16, offset: 71892}, expr: &ruleRefExpr{ - pos: position{line: 2463, col: 17, offset: 80687}, + pos: position{line: 2209, col: 17, offset: 71893}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2464, col: 5, offset: 80713}, + pos: position{line: 2210, col: 5, offset: 71919}, label: "text", expr: &choiceExpr{ - pos: position{line: 2465, col: 9, offset: 80728}, + pos: position{line: 2210, col: 11, offset: 71925}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2465, col: 9, offset: 80728}, - name: "SingleQuoteMarkedText", + pos: position{line: 2210, col: 11, offset: 71925}, + name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2466, col: 11, offset: 80760}, - name: "BoldText", + pos: position{line: 2211, col: 11, offset: 71944}, + name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 2467, col: 11, offset: 80779}, - name: "ItalicText", + pos: position{line: 2212, col: 11, offset: 71976}, + name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2468, col: 11, offset: 80800}, + pos: position{line: 2213, col: 11, offset: 71997}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2469, col: 11, offset: 80824}, + pos: position{line: 2214, col: 11, offset: 72021}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2470, col: 11, offset: 80848}, + pos: position{line: 2215, col: 11, offset: 72045}, name: "SuperscriptText", }, }, @@ -12642,1269 +56709,1722 @@ var g = &grammar{ }, }, { - name: "DoubleQuoteMarkedTextFallbackCharacter", - pos: position{line: 2474, col: 1, offset: 80950}, + name: "EscapedItalicText", + pos: position{line: 2225, col: 1, offset: 72477}, expr: &choiceExpr{ - pos: position{line: 2475, col: 5, offset: 80996}, + pos: position{line: 2227, col: 5, offset: 72542}, alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2475, col: 5, offset: 80996}, - val: "[^\\r\\n#]", - chars: []rune{'\r', '\n', '#'}, - ignoreCase: false, - inverted: true, - }, &actionExpr{ - pos: position{line: 2476, col: 7, offset: 81095}, - run: (*parser).callonDoubleQuoteMarkedTextFallbackCharacter3, + pos: position{line: 2227, col: 5, offset: 72542}, + run: (*parser).callonEscapedItalicText2, expr: &seqExpr{ - pos: position{line: 2476, col: 7, offset: 81095}, + pos: position{line: 2227, col: 5, offset: 72542}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2476, col: 7, offset: 81095}, - name: "DoubleQuoteMarkedTextDelimiter", + &labeledExpr{ + pos: position{line: 2227, col: 5, offset: 72542}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1942, col: 25, offset: 63439}, + run: (*parser).callonEscapedItalicText5, + expr: &seqExpr{ + pos: position{line: 1942, col: 25, offset: 63439}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1942, col: 25, offset: 63439}, + val: "\\\\", + ignoreCase: false, + want: "\"\\\\\\\\\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1942, col: 30, offset: 63444}, + expr: &litMatcher{ + pos: position{line: 1942, col: 30, offset: 63444}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2476, col: 38, offset: 81126}, - name: "Alphanums", - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteMarkedTextStartDelimiter", - pos: position{line: 2483, col: 1, offset: 81415}, - expr: &litMatcher{ - pos: position{line: 2483, col: 40, offset: 81454}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - { - name: "SingleQuoteMarkedTextEndDelimiter", - pos: position{line: 2485, col: 1, offset: 81459}, - expr: &litMatcher{ - pos: position{line: 2485, col: 38, offset: 81496}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - { - name: "SingleQuoteMarkedText", - pos: position{line: 2487, col: 1, offset: 81502}, - expr: &actionExpr{ - pos: position{line: 2488, col: 5, offset: 81532}, - run: (*parser).callonSingleQuoteMarkedText1, - expr: &seqExpr{ - pos: position{line: 2488, col: 5, offset: 81532}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2488, col: 5, offset: 81532}, - name: "SingleQuoteMarkedTextStartDelimiter", - }, - &labeledExpr{ - pos: position{line: 2489, col: 5, offset: 81572}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2489, col: 15, offset: 81582}, - name: "SingleQuoteMarkedTextElements", - }, - }, - &ruleRefExpr{ - pos: position{line: 2490, col: 5, offset: 81618}, - name: "SingleQuoteMarkedTextEndDelimiter", - }, - }, - }, - }, - }, - { - name: "SingleQuoteMarkedTextElements", - pos: position{line: 2494, col: 1, offset: 81749}, - expr: &actionExpr{ - pos: position{line: 2495, col: 5, offset: 81787}, - run: (*parser).callonSingleQuoteMarkedTextElements1, - expr: &seqExpr{ - pos: position{line: 2495, col: 5, offset: 81787}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2495, col: 5, offset: 81787}, - expr: &ruleRefExpr{ - pos: position{line: 2495, col: 6, offset: 81788}, - name: "EOF", - }, - }, - ¬Expr{ - pos: position{line: 2495, col: 10, offset: 81792}, - expr: &ruleRefExpr{ - pos: position{line: 2495, col: 11, offset: 81793}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 2496, col: 5, offset: 81831}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2496, col: 14, offset: 81840}, - expr: &ruleRefExpr{ - pos: position{line: 2496, col: 15, offset: 81841}, - name: "SingleQuoteMarkedTextElement", - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2497, col: 5, offset: 81877}, - run: (*parser).callonSingleQuoteMarkedTextElements10, - }, - }, - }, - }, - }, - { - name: "SingleQuoteMarkedTextElement", - pos: position{line: 2503, col: 1, offset: 82018}, - expr: &choiceExpr{ - pos: position{line: 2504, col: 5, offset: 82055}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2504, col: 5, offset: 82055}, - name: "MarkedTextWord", - }, - &ruleRefExpr{ - pos: position{line: 2505, col: 7, offset: 82076}, - name: "Spaces", - }, - &seqExpr{ - pos: position{line: 2506, col: 7, offset: 82089}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2506, col: 7, offset: 82089}, - name: "Newline", - }, - ¬Expr{ - pos: position{line: 2506, col: 15, offset: 82097}, - expr: &ruleRefExpr{ - pos: position{line: 2506, col: 16, offset: 82098}, - name: "Newline", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2507, col: 7, offset: 82146}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 2508, col: 7, offset: 82171}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2509, col: 7, offset: 82189}, - name: "Symbol", - }, - &ruleRefExpr{ - pos: position{line: 2510, col: 7, offset: 82202}, - name: "SpecialCharacter", - }, - &ruleRefExpr{ - pos: position{line: 2511, col: 7, offset: 82275}, - name: "QuotedTextInSingleQuoteMarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2512, col: 7, offset: 82315}, - name: "ElementPlaceHolder", - }, - &ruleRefExpr{ - pos: position{line: 2513, col: 7, offset: 82340}, - name: "SingleQuoteMarkedTextFallbackCharacter", - }, - }, - }, - }, - { - name: "QuotedTextInSingleQuoteMarkedText", - pos: position{line: 2515, col: 1, offset: 82380}, - expr: &choiceExpr{ - pos: position{line: 2517, col: 5, offset: 82444}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2517, col: 5, offset: 82444}, - run: (*parser).callonQuotedTextInSingleQuoteMarkedText2, - expr: &seqExpr{ - pos: position{line: 2517, col: 5, offset: 82444}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 2517, col: 5, offset: 82444}, - expr: &litMatcher{ - pos: position{line: 2517, col: 7, offset: 82446}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &labeledExpr{ - pos: position{line: 2518, col: 5, offset: 82455}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2519, col: 9, offset: 82473}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2519, col: 9, offset: 82473}, - name: "EscapedBoldText", - }, - &ruleRefExpr{ - pos: position{line: 2520, col: 11, offset: 82500}, - name: "EscapedItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2521, col: 11, offset: 82528}, - name: "EscapedMonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2522, col: 11, offset: 82559}, - name: "EscapedSubscriptText", - }, - &ruleRefExpr{ - pos: position{line: 2523, col: 11, offset: 82590}, - name: "EscapedSuperscriptText", - }, - }, - }, + &litMatcher{ + pos: position{line: 2227, col: 40, offset: 72577}, + val: "__", + ignoreCase: false, + want: "\"__\"", + }, + &labeledExpr{ + pos: position{line: 2227, col: 45, offset: 72582}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2227, col: 55, offset: 72592}, + name: "DoubleQuoteItalicTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2227, col: 86, offset: 72623}, + val: "__", + ignoreCase: false, + want: "\"__\"", }, }, }, }, &actionExpr{ - pos: position{line: 2529, col: 5, offset: 82690}, - run: (*parser).callonQuotedTextInSingleQuoteMarkedText13, + pos: position{line: 2231, col: 7, offset: 72788}, + run: (*parser).callonEscapedItalicText14, expr: &seqExpr{ - pos: position{line: 2529, col: 5, offset: 82690}, + pos: position{line: 2231, col: 7, offset: 72788}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2529, col: 5, offset: 82690}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2529, col: 16, offset: 82701}, - expr: &ruleRefExpr{ - pos: position{line: 2529, col: 17, offset: 82702}, - name: "LongHandAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 2530, col: 5, offset: 82728}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2531, col: 9, offset: 82743}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2531, col: 9, offset: 82743}, - name: "DoubleQuoteMarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2532, col: 11, offset: 82775}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2533, col: 11, offset: 82794}, - name: "ItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2534, col: 11, offset: 82815}, - name: "MonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2535, col: 11, offset: 82839}, - name: "SubscriptText", - }, - &ruleRefExpr{ - pos: position{line: 2536, col: 11, offset: 82863}, - name: "SuperscriptText", + pos: position{line: 2231, col: 7, offset: 72788}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedItalicText17, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteMarkedTextFallbackCharacter", - pos: position{line: 2540, col: 1, offset: 82965}, - expr: &choiceExpr{ - pos: position{line: 2541, col: 5, offset: 83011}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2541, col: 5, offset: 83011}, - val: "[^\\r\\n #]", - chars: []rune{'\r', '\n', ' ', '#'}, - ignoreCase: false, - inverted: true, - }, - &actionExpr{ - pos: position{line: 2542, col: 7, offset: 83116}, - run: (*parser).callonSingleQuoteMarkedTextFallbackCharacter3, - expr: &seqExpr{ - pos: position{line: 2542, col: 7, offset: 83116}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2542, col: 7, offset: 83116}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - &ruleRefExpr{ - pos: position{line: 2542, col: 11, offset: 83120}, - name: "Alphanums", - }, - }, - }, - }, - }, - }, - }, - { - name: "EscapedMarkedText", - pos: position{line: 2546, col: 1, offset: 83291}, - expr: &choiceExpr{ - pos: position{line: 2548, col: 5, offset: 83355}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2548, col: 5, offset: 83355}, - run: (*parser).callonEscapedMarkedText2, - expr: &seqExpr{ - pos: position{line: 2548, col: 5, offset: 83355}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 83355}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2548, col: 18, offset: 83368}, - name: "TwoOrMoreBackslashes", - }, - }, &litMatcher{ - pos: position{line: 2548, col: 40, offset: 83390}, - val: "##", + pos: position{line: 2231, col: 42, offset: 72823}, + val: "__", ignoreCase: false, - want: "\"##\"", + want: "\"__\"", }, &labeledExpr{ - pos: position{line: 2548, col: 45, offset: 83395}, + pos: position{line: 2231, col: 47, offset: 72828}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2548, col: 55, offset: 83405}, - name: "DoubleQuoteMarkedTextElements", + pos: position{line: 2231, col: 57, offset: 72838}, + name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2548, col: 86, offset: 83436}, - val: "##", + pos: position{line: 2231, col: 88, offset: 72869}, + val: "_", ignoreCase: false, - want: "\"##\"", + want: "\"_\"", }, }, }, }, &actionExpr{ - pos: position{line: 2552, col: 7, offset: 83601}, - run: (*parser).callonEscapedMarkedText10, + pos: position{line: 2236, col: 7, offset: 73110}, + run: (*parser).callonEscapedItalicText24, expr: &seqExpr{ - pos: position{line: 2552, col: 7, offset: 83601}, + pos: position{line: 2236, col: 7, offset: 73110}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2552, col: 7, offset: 83601}, + pos: position{line: 2236, col: 7, offset: 73110}, label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2552, col: 20, offset: 83614}, - name: "OneOrMoreBackslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedItalicText27, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, }, }, &litMatcher{ - pos: position{line: 2552, col: 42, offset: 83636}, - val: "##", + pos: position{line: 2236, col: 42, offset: 73145}, + val: "_", ignoreCase: false, - want: "\"##\"", + want: "\"_\"", }, &labeledExpr{ - pos: position{line: 2552, col: 47, offset: 83641}, + pos: position{line: 2236, col: 46, offset: 73149}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2552, col: 57, offset: 83651}, - name: "SingleQuoteMarkedTextElements", + pos: position{line: 2236, col: 56, offset: 73159}, + name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2552, col: 88, offset: 83682}, - val: "#", + pos: position{line: 2236, col: 87, offset: 73190}, + val: "_", ignoreCase: false, - want: "\"#\"", + want: "\"_\"", }, }, }, }, - &actionExpr{ - pos: position{line: 2557, col: 7, offset: 83885}, - run: (*parser).callonEscapedMarkedText18, - expr: &seqExpr{ - pos: position{line: 2557, col: 7, offset: 83885}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2557, col: 7, offset: 83885}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2557, col: 20, offset: 83898}, - name: "OneOrMoreBackslashes", - }, - }, - &litMatcher{ - pos: position{line: 2557, col: 42, offset: 83920}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - &labeledExpr{ - pos: position{line: 2557, col: 46, offset: 83924}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2557, col: 56, offset: 83934}, - name: "SingleQuoteMarkedTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2557, col: 87, offset: 83965}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - }, - }, - }, - }, - }, - { - name: "SubscriptText", - pos: position{line: 2564, col: 1, offset: 84232}, - expr: &actionExpr{ - pos: position{line: 2565, col: 5, offset: 84254}, - run: (*parser).callonSubscriptText1, - expr: &seqExpr{ - pos: position{line: 2565, col: 5, offset: 84254}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2565, col: 5, offset: 84254}, - name: "SubscriptTextDelimiter", - }, - &labeledExpr{ - pos: position{line: 2566, col: 5, offset: 84281}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2566, col: 14, offset: 84290}, - name: "SubscriptTextElement", - }, - }, - &ruleRefExpr{ - pos: position{line: 2567, col: 5, offset: 84316}, - name: "SubscriptTextDelimiter", - }, - }, }, }, }, { - name: "SubscriptTextDelimiter", - pos: position{line: 2571, col: 1, offset: 84443}, - expr: &litMatcher{ - pos: position{line: 2571, col: 27, offset: 84469}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, - }, - { - name: "SubscriptTextElement", - pos: position{line: 2573, col: 1, offset: 84474}, + name: "MonospaceText", + pos: position{line: 2243, col: 1, offset: 73509}, expr: &choiceExpr{ - pos: position{line: 2573, col: 25, offset: 84498}, + pos: position{line: 2243, col: 18, offset: 73526}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2573, col: 25, offset: 84498}, - name: "QuotedText", + pos: position{line: 2243, col: 18, offset: 73526}, + name: "DoubleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2573, col: 38, offset: 84511}, - name: "NonSubscriptText", - }, - }, - }, - }, - { - name: "NonSubscriptText", - pos: position{line: 2575, col: 1, offset: 84530}, - expr: &actionExpr{ - pos: position{line: 2575, col: 21, offset: 84550}, - run: (*parser).callonNonSubscriptText1, - expr: &oneOrMoreExpr{ - pos: position{line: 2575, col: 21, offset: 84550}, - expr: &charClassMatcher{ - pos: position{line: 2575, col: 21, offset: 84550}, - val: "[^\\r\\n ~]", - chars: []rune{'\r', '\n', ' ', '~'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "EscapedSubscriptText", - pos: position{line: 2579, col: 1, offset: 84635}, - expr: &actionExpr{ - pos: position{line: 2581, col: 5, offset: 84702}, - run: (*parser).callonEscapedSubscriptText1, - expr: &seqExpr{ - pos: position{line: 2581, col: 5, offset: 84702}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2581, col: 5, offset: 84702}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2581, col: 18, offset: 84715}, - name: "OneOrMoreBackslashes", - }, - }, - &ruleRefExpr{ - pos: position{line: 2582, col: 5, offset: 84742}, - name: "SubscriptTextDelimiter", - }, - &labeledExpr{ - pos: position{line: 2583, col: 5, offset: 84770}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2583, col: 14, offset: 84779}, - name: "SubscriptTextElement", - }, - }, - &ruleRefExpr{ - pos: position{line: 2584, col: 5, offset: 84805}, - name: "SubscriptTextDelimiter", - }, + pos: position{line: 2243, col: 45, offset: 73553}, + name: "SingleQuoteMonospaceText", }, }, }, }, { - name: "SuperscriptText", - pos: position{line: 2591, col: 1, offset: 85042}, + name: "DoubleQuoteMonospaceText", + pos: position{line: 2257, col: 1, offset: 73905}, expr: &actionExpr{ - pos: position{line: 2592, col: 5, offset: 85066}, - run: (*parser).callonSuperscriptText1, + pos: position{line: 2258, col: 5, offset: 73938}, + run: (*parser).callonDoubleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 2592, col: 5, offset: 85066}, + pos: position{line: 2258, col: 5, offset: 73938}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2592, col: 5, offset: 85066}, - name: "SuperscriptTextDelimiter", + &litMatcher{ + pos: position{line: 2255, col: 38, offset: 73899}, + val: "``", + ignoreCase: false, + want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2593, col: 5, offset: 85096}, - label: "element", + pos: position{line: 2259, col: 5, offset: 73977}, + label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2593, col: 14, offset: 85105}, - name: "SuperscriptTextElement", + pos: position{line: 2259, col: 15, offset: 73987}, + name: "DoubleQuoteMonospaceTextElements", }, }, - &ruleRefExpr{ - pos: position{line: 2594, col: 5, offset: 85134}, - name: "SuperscriptTextDelimiter", + &litMatcher{ + pos: position{line: 2255, col: 38, offset: 73899}, + val: "``", + ignoreCase: false, + want: "\"``\"", }, }, }, }, }, { - name: "SuperscriptTextDelimiter", - pos: position{line: 2598, col: 1, offset: 85265}, - expr: &litMatcher{ - pos: position{line: 2598, col: 29, offset: 85293}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - }, - { - name: "SuperscriptTextElement", - pos: position{line: 2600, col: 1, offset: 85298}, - expr: &choiceExpr{ - pos: position{line: 2600, col: 27, offset: 85324}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2600, col: 27, offset: 85324}, - name: "QuotedText", - }, - &ruleRefExpr{ - pos: position{line: 2600, col: 40, offset: 85337}, - name: "NonSuperscriptText", - }, - }, - }, - }, - { - name: "NonSuperscriptText", - pos: position{line: 2602, col: 1, offset: 85358}, - expr: &actionExpr{ - pos: position{line: 2602, col: 23, offset: 85380}, - run: (*parser).callonNonSuperscriptText1, - expr: &oneOrMoreExpr{ - pos: position{line: 2602, col: 23, offset: 85380}, - expr: &charClassMatcher{ - pos: position{line: 2602, col: 23, offset: 85380}, - val: "[^\\r\\n ^]", - chars: []rune{'\r', '\n', ' ', '^'}, - ignoreCase: false, - inverted: true, - }, + name: "DoubleQuoteMonospaceTextElements", + pos: position{line: 2264, col: 1, offset: 74159}, + expr: &oneOrMoreExpr{ + pos: position{line: 2264, col: 37, offset: 74195}, + expr: &ruleRefExpr{ + pos: position{line: 2264, col: 37, offset: 74195}, + name: "DoubleQuoteMonospaceTextElement", }, }, }, { - name: "EscapedSuperscriptText", - pos: position{line: 2606, col: 1, offset: 85465}, + name: "DoubleQuoteMonospaceTextElement", + pos: position{line: 2266, col: 1, offset: 74262}, expr: &actionExpr{ - pos: position{line: 2608, col: 5, offset: 85537}, - run: (*parser).callonEscapedSuperscriptText1, + pos: position{line: 2267, col: 5, offset: 74302}, + run: (*parser).callonDoubleQuoteMonospaceTextElement1, expr: &seqExpr{ - pos: position{line: 2608, col: 5, offset: 85537}, + pos: position{line: 2267, col: 5, offset: 74302}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2608, col: 5, offset: 85537}, - label: "backslashes", - expr: &ruleRefExpr{ - pos: position{line: 2608, col: 18, offset: 85550}, - name: "OneOrMoreBackslashes", + ¬Expr{ + pos: position{line: 2267, col: 5, offset: 74302}, + expr: &litMatcher{ + pos: position{line: 2255, col: 38, offset: 73899}, + val: "``", + ignoreCase: false, + want: "\"``\"", }, }, - &ruleRefExpr{ - pos: position{line: 2609, col: 5, offset: 85577}, - name: "SuperscriptTextDelimiter", - }, &labeledExpr{ - pos: position{line: 2610, col: 5, offset: 85607}, + pos: position{line: 2268, col: 5, offset: 74341}, label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2610, col: 14, offset: 85616}, - name: "SuperscriptTextElement", - }, - }, - &ruleRefExpr{ - pos: position{line: 2611, col: 5, offset: 85645}, - name: "SuperscriptTextDelimiter", - }, - }, - }, - }, - }, - { - name: "Section", - pos: position{line: 2619, col: 1, offset: 86085}, - expr: &actionExpr{ - pos: position{line: 2620, col: 5, offset: 86101}, - run: (*parser).callonSection1, - expr: &seqExpr{ - pos: position{line: 2620, col: 5, offset: 86101}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2620, col: 5, offset: 86101}, - run: (*parser).callonSection3, - }, - &labeledExpr{ - pos: position{line: 2623, col: 5, offset: 86164}, - label: "level", - expr: &actionExpr{ - pos: position{line: 2623, col: 12, offset: 86171}, - run: (*parser).callonSection5, - expr: &oneOrMoreExpr{ - pos: position{line: 2623, col: 12, offset: 86171}, - expr: &litMatcher{ - pos: position{line: 2623, col: 13, offset: 86172}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2627, col: 5, offset: 86280}, - run: (*parser).callonSection8, - }, - &ruleRefExpr{ - pos: position{line: 2631, col: 5, offset: 86432}, - name: "Spaces", - }, - &labeledExpr{ - pos: position{line: 2631, col: 12, offset: 86439}, - label: "title", - expr: &ruleRefExpr{ - pos: position{line: 2631, col: 19, offset: 86446}, - name: "SectionTitle", - }, - }, - &ruleRefExpr{ - pos: position{line: 2631, col: 33, offset: 86460}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "SectionTitle", - pos: position{line: 2635, col: 1, offset: 86542}, - expr: &actionExpr{ - pos: position{line: 2635, col: 17, offset: 86558}, - run: (*parser).callonSectionTitle1, - expr: &oneOrMoreExpr{ - pos: position{line: 2635, col: 17, offset: 86558}, - expr: &charClassMatcher{ - pos: position{line: 2635, col: 17, offset: 86558}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "Substitutions", - pos: position{line: 2645, col: 1, offset: 86935}, - expr: &actionExpr{ - pos: position{line: 2646, col: 5, offset: 86989}, - run: (*parser).callonSubstitutions1, - expr: &seqExpr{ - pos: position{line: 2646, col: 5, offset: 86989}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2646, col: 5, offset: 86989}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2646, col: 14, offset: 86998}, - expr: &actionExpr{ - pos: position{line: 2647, col: 9, offset: 87008}, - run: (*parser).callonSubstitutions5, - expr: &seqExpr{ - pos: position{line: 2647, col: 9, offset: 87008}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2647, col: 9, offset: 87008}, - expr: &ruleRefExpr{ - pos: position{line: 2647, col: 10, offset: 87009}, - name: "EOF", + expr: &choiceExpr{ + pos: position{line: 2269, col: 9, offset: 74359}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2248, col: 5, offset: 73636}, + run: (*parser).callonDoubleQuoteMonospaceTextElement7, + expr: &seqExpr{ + pos: position{line: 2248, col: 5, offset: 73636}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2248, col: 5, offset: 73636}, + expr: &charClassMatcher{ + pos: position{line: 2248, col: 5, offset: 73636}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2248, col: 15, offset: 73646}, + expr: &choiceExpr{ + pos: position{line: 2248, col: 17, offset: 73648}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteMonospaceTextElement13, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 2245, col: 27, offset: 73605}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 2648, col: 9, offset: 87021}, - label: "element", + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonDoubleQuoteMonospaceTextElement16, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2271, col: 11, offset: 74437}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMonospaceTextElement20, expr: &choiceExpr{ - pos: position{line: 2649, col: 13, offset: 87043}, + pos: position{line: 3128, col: 13, offset: 101145}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2649, col: 13, offset: 87043}, - name: "InlineWord", - }, - &ruleRefExpr{ - pos: position{line: 2650, col: 15, offset: 87068}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 2651, col: 15, offset: 87088}, - name: "Newline", - }, - &ruleRefExpr{ - pos: position{line: 2652, col: 15, offset: 87110}, - name: "ElementPlaceHolder", - }, - &ruleRefExpr{ - pos: position{line: 2653, col: 15, offset: 87231}, - name: "LineBreak", - }, - &ruleRefExpr{ - pos: position{line: 2654, col: 15, offset: 87256}, - name: "Punctuation", - }, - &ruleRefExpr{ - pos: position{line: 2655, col: 15, offset: 87282}, - name: "Quote", - }, - &ruleRefExpr{ - pos: position{line: 2656, col: 15, offset: 87302}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2657, col: 15, offset: 87334}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2658, col: 15, offset: 87423}, - name: "Callout", - }, - &ruleRefExpr{ - pos: position{line: 2659, col: 15, offset: 87487}, - name: "Replacement", - }, - &ruleRefExpr{ - pos: position{line: 2660, col: 15, offset: 87513}, - name: "SpecialCharacter", + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &ruleRefExpr{ - pos: position{line: 2661, col: 15, offset: 87594}, - name: "AttributeReference", + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &ruleRefExpr{ - pos: position{line: 2662, col: 15, offset: 87627}, - name: "AnyChar", + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2271, col: 19, offset: 74445}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMonospaceTextElement26, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, }, }, }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2666, col: 12, offset: 87738}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "AttributeStructuredValue", - pos: position{line: 2671, col: 1, offset: 87905}, - expr: &actionExpr{ - pos: position{line: 2672, col: 5, offset: 87938}, - run: (*parser).callonAttributeStructuredValue1, - expr: &seqExpr{ - pos: position{line: 2672, col: 5, offset: 87938}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2672, col: 5, offset: 87938}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2672, col: 14, offset: 87947}, - expr: &choiceExpr{ - pos: position{line: 2673, col: 9, offset: 87957}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2673, col: 9, offset: 87957}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2674, col: 11, offset: 87979}, - name: "Quote", - }, - &ruleRefExpr{ - pos: position{line: 2675, col: 11, offset: 87995}, - name: "Word", - }, - &ruleRefExpr{ - pos: position{line: 2676, col: 11, offset: 88010}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 2677, col: 11, offset: 88026}, - name: "SpecialCharacter", - }, - &ruleRefExpr{ - pos: position{line: 2678, col: 11, offset: 88053}, - name: "Symbol", - }, - &ruleRefExpr{ - pos: position{line: 2679, col: 11, offset: 88070}, - name: "ElementPlaceHolder", - }, - &ruleRefExpr{ - pos: position{line: 2680, col: 11, offset: 88099}, - name: "AnyChar", - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2681, col: 8, offset: 88114}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "HeaderGroup", - pos: position{line: 2687, col: 1, offset: 88222}, - expr: &actionExpr{ - pos: position{line: 2688, col: 5, offset: 88242}, - run: (*parser).callonHeaderGroup1, - expr: &seqExpr{ - pos: position{line: 2688, col: 5, offset: 88242}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2688, col: 5, offset: 88242}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2688, col: 14, offset: 88251}, - expr: &ruleRefExpr{ - pos: position{line: 2688, col: 15, offset: 88252}, - name: "HeaderGroupElement", - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2688, col: 36, offset: 88273}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "HeaderGroupElement", - pos: position{line: 2692, col: 1, offset: 88336}, - expr: &actionExpr{ - pos: position{line: 2693, col: 5, offset: 88362}, - run: (*parser).callonHeaderGroupElement1, - expr: &seqExpr{ - pos: position{line: 2693, col: 5, offset: 88362}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2693, col: 5, offset: 88362}, - expr: &ruleRefExpr{ - pos: position{line: 2693, col: 6, offset: 88363}, - name: "EOF", - }, - }, - &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 88371}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2695, col: 9, offset: 88389}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2695, col: 9, offset: 88389}, - name: "Word", - }, &actionExpr{ - pos: position{line: 2696, col: 12, offset: 88405}, - run: (*parser).callonHeaderGroupElement8, + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuoteMonospaceTextElement31, expr: &seqExpr{ - pos: position{line: 2696, col: 12, offset: 88405}, + pos: position{line: 647, col: 5, offset: 20685}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2696, col: 12, offset: 88405}, - expr: &ruleRefExpr{ - pos: position{line: 2696, col: 12, offset: 88405}, - name: "Space", - }, + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuoteMonospaceTextElement33, }, &labeledExpr{ - pos: position{line: 2696, col: 19, offset: 88412}, - label: "id", - expr: &ruleRefExpr{ - pos: position{line: 2696, col: 23, offset: 88416}, - name: "LegacyElementID", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 2696, col: 40, offset: 88433}, - expr: &ruleRefExpr{ - pos: position{line: 2696, col: 40, offset: 88433}, - name: "Space", - }, - }, - &andExpr{ - pos: position{line: 2696, col: 47, offset: 88440}, - expr: &ruleRefExpr{ - pos: position{line: 2696, col: 48, offset: 88441}, - name: "EOF", + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonDoubleQuoteMonospaceTextElement36, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMonospaceTextElement40, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuoteMonospaceTextElement47, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuoteMonospaceTextElement52, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuoteMonospaceTextElement54, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonDoubleQuoteMonospaceTextElement58, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMonospaceTextElement62, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuoteMonospaceTextElement69, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuoteMonospaceTextElement74, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuoteMonospaceTextElement76, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuoteMonospaceTextElement80, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMonospaceTextElement84, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuoteMonospaceTextElement90, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMonospaceTextElement94, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, }, }, }, }, }, &ruleRefExpr{ - pos: position{line: 2697, col: 11, offset: 88497}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 2698, col: 11, offset: 88513}, - name: "InlinePassthrough", + pos: position{line: 2273, col: 11, offset: 74527}, + name: "InlineMacro", }, - &ruleRefExpr{ - pos: position{line: 2699, col: 11, offset: 88541}, - name: "Quote", + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonDoubleQuoteMonospaceTextElement101, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuoteMonospaceTextElement105, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuoteMonospaceTextElement107, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuoteMonospaceTextElement109, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuoteMonospaceTextElement111, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteMonospaceTextElement113, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonDoubleQuoteMonospaceTextElement115, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonDoubleQuoteMonospaceTextElement117, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonDoubleQuoteMonospaceTextElement119, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonDoubleQuoteMonospaceTextElement121, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteMonospaceTextElement123, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteMonospaceTextElement125, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteMonospaceTextElement128, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMonospaceTextElement132, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteMonospaceTextElement139, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteMonospaceTextElement141, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMonospaceTextElement146, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonDoubleQuoteMonospaceTextElement153, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonDoubleQuoteMonospaceTextElement155, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonDoubleQuoteMonospaceTextElement157, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2700, col: 11, offset: 88557}, - name: "Link", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuoteMonospaceTextElement159, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2701, col: 11, offset: 88572}, - name: "Replacement", + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuoteMonospaceTextElement161, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2702, col: 11, offset: 88594}, - name: "SpecialCharacter", + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuoteMonospaceTextElement163, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2703, col: 11, offset: 88664}, - name: "InlineIcon", + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuoteMonospaceTextElement165, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2704, col: 11, offset: 88685}, - name: "AttributeReference", + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteMonospaceTextElement167, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2705, col: 11, offset: 88714}, - name: "ElementPlaceHolder", + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonDoubleQuoteMonospaceTextElement169, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2706, col: 11, offset: 88831}, - name: "InlineAnchor", + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonDoubleQuoteMonospaceTextElement171, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2707, col: 11, offset: 88887}, - name: "InlineFootnote", + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonDoubleQuoteMonospaceTextElement173, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2708, col: 11, offset: 88912}, - name: "AnyChar", + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteMonospaceTextElement175, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteMonospaceTextElement177, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteMonospaceTextElement180, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMonospaceTextElement184, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlineMacro", - pos: position{line: 2712, col: 1, offset: 88966}, - expr: &actionExpr{ - pos: position{line: 2714, col: 5, offset: 89048}, - run: (*parser).callonInlineMacro1, - expr: &seqExpr{ - pos: position{line: 2714, col: 5, offset: 89048}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2714, col: 5, offset: 89048}, - run: (*parser).callonInlineMacro3, - }, - &labeledExpr{ - pos: position{line: 2717, col: 5, offset: 89113}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2718, col: 9, offset: 89131}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2718, col: 9, offset: 89131}, - name: "InlineIcon", - }, - &ruleRefExpr{ - pos: position{line: 2719, col: 11, offset: 89152}, - name: "InlineImage", - }, - &ruleRefExpr{ - pos: position{line: 2720, col: 11, offset: 89175}, - name: "Link", - }, - &ruleRefExpr{ - pos: position{line: 2721, col: 11, offset: 89191}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2722, col: 11, offset: 89220}, - name: "InlineFootnote", - }, - &ruleRefExpr{ - pos: position{line: 2723, col: 11, offset: 89246}, - name: "CrossReference", - }, - &ruleRefExpr{ - pos: position{line: 2724, col: 11, offset: 89272}, - name: "InlineUserMacro", + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteMonospaceTextElement191, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteMonospaceTextElement193, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMonospaceTextElement198, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2725, col: 11, offset: 89299}, - name: "InlineAnchor", + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonDoubleQuoteMonospaceTextElement205, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2726, col: 11, offset: 89322}, - name: "ConcealedIndexTerm", + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonDoubleQuoteMonospaceTextElement207, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2727, col: 11, offset: 89351}, - name: "IndexTerm", + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonDoubleQuoteMonospaceTextElement209, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2728, col: 11, offset: 89371}, - name: "InlineButton", + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonDoubleQuoteMonospaceTextElement211, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, }, - &ruleRefExpr{ - pos: position{line: 2729, col: 11, offset: 89394}, - name: "InlineMenu", + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonDoubleQuoteMonospaceTextElement213, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2730, col: 11, offset: 89415}, - name: "InlineUserMacro", + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonDoubleQuoteMonospaceTextElement219, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlinePassthrough", - pos: position{line: 2734, col: 1, offset: 89477}, - expr: &actionExpr{ - pos: position{line: 2736, col: 5, offset: 89565}, - run: (*parser).callonInlinePassthrough1, - expr: &seqExpr{ - pos: position{line: 2736, col: 5, offset: 89565}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2736, col: 5, offset: 89565}, - run: (*parser).callonInlinePassthrough3, - }, - &labeledExpr{ - pos: position{line: 2739, col: 5, offset: 89642}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2740, col: 9, offset: 89660}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2740, col: 9, offset: 89660}, - name: "TriplePlusPassthrough", + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonDoubleQuoteMonospaceTextElement225, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonDoubleQuoteMonospaceTextElement227, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonDoubleQuoteMonospaceTextElement230, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonDoubleQuoteMonospaceTextElement232, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonDoubleQuoteMonospaceTextElement236, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteMonospaceTextElement240, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonDoubleQuoteMonospaceTextElement246, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuoteMonospaceTextElement251, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMonospaceTextElement255, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuoteMonospaceTextElement261, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMonospaceTextElement265, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonDoubleQuoteMonospaceTextElement271, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonDoubleQuoteMonospaceTextElement274, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonDoubleQuoteMonospaceTextElement278, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonDoubleQuoteMonospaceTextElement282, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 2740, col: 33, offset: 89684}, - name: "SinglePlusPassthrough", + &litMatcher{ + pos: position{line: 2812, col: 18, offset: 91886}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", }, &ruleRefExpr{ - pos: position{line: 2740, col: 57, offset: 89708}, - name: "PassthroughMacro", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "Quote", - pos: position{line: 2745, col: 1, offset: 89768}, - expr: &seqExpr{ - pos: position{line: 2747, col: 5, offset: 89844}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2747, col: 5, offset: 89844}, - run: (*parser).callonQuote2, - }, - &ruleRefExpr{ - pos: position{line: 2750, col: 5, offset: 89909}, - name: "QuotedText", - }, - }, - }, - }, - { - name: "Replacement", - pos: position{line: 2752, col: 1, offset: 89922}, - expr: &actionExpr{ - pos: position{line: 2754, col: 5, offset: 90004}, - run: (*parser).callonReplacement1, - expr: &seqExpr{ - pos: position{line: 2754, col: 5, offset: 90004}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2754, col: 5, offset: 90004}, - run: (*parser).callonReplacement3, - }, - &labeledExpr{ - pos: position{line: 2757, col: 5, offset: 90075}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2758, col: 9, offset: 90093}, - name: "Symbol", - }, - }, - }, - }, - }, - }, - { - name: "SpecialCharacter", - pos: position{line: 2763, col: 1, offset: 90143}, - expr: &actionExpr{ - pos: position{line: 2765, col: 5, offset: 90230}, - run: (*parser).callonSpecialCharacter1, - expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 90230}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 90230}, - run: (*parser).callonSpecialCharacter3, - }, - &labeledExpr{ - pos: position{line: 2768, col: 5, offset: 90306}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2770, col: 9, offset: 90404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2770, col: 9, offset: 90404}, - run: (*parser).callonSpecialCharacter6, - expr: &ruleRefExpr{ - pos: position{line: 2770, col: 9, offset: 90404}, - name: "InternalCrossReference", - }, + pos: position{line: 2277, col: 11, offset: 74710}, + name: "QuotedTextInDoubleQuoteMonospaceText", }, &actionExpr{ - pos: position{line: 2773, col: 11, offset: 90508}, - run: (*parser).callonSpecialCharacter8, - expr: &choiceExpr{ - pos: position{line: 2773, col: 12, offset: 90509}, - alternatives: []interface{}{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonDoubleQuoteMonospaceTextElement286, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 2773, col: 12, offset: 90509}, - val: "<", + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", ignoreCase: false, - want: "\"<\"", + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonDoubleQuoteMonospaceTextElement290, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, &litMatcher{ - pos: position{line: 2773, col: 18, offset: 90515}, - val: ">", + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", ignoreCase: false, - want: "\">\"", + want: "\"�\"", }, + }, + }, + }, + &charClassMatcher{ + pos: position{line: 2309, col: 5, offset: 75508}, + val: "[^\\r\\n`]", + chars: []rune{'\r', '\n', '`'}, + ignoreCase: false, + inverted: true, + }, + &actionExpr{ + pos: position{line: 2310, col: 7, offset: 75610}, + run: (*parser).callonDoubleQuoteMonospaceTextElement295, + expr: &seqExpr{ + pos: position{line: 2310, col: 7, offset: 75610}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 2773, col: 24, offset: 90521}, - val: "&", + pos: position{line: 2310, col: 7, offset: 75610}, + val: "``", ignoreCase: false, - want: "\"&\"", + want: "\"``\"", + }, + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonDoubleQuoteMonospaceTextElement298, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, @@ -13917,338 +58437,238 @@ var g = &grammar{ }, }, { - name: "SingleLineComment", - pos: position{line: 2782, col: 1, offset: 90847}, - expr: &actionExpr{ - pos: position{line: 2782, col: 22, offset: 90868}, - run: (*parser).callonSingleLineComment1, - expr: &seqExpr{ - pos: position{line: 2782, col: 22, offset: 90868}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2782, col: 22, offset: 90868}, - name: "SingleLineCommentDelimiter", - }, - &labeledExpr{ - pos: position{line: 2782, col: 49, offset: 90895}, - label: "content", - expr: &ruleRefExpr{ - pos: position{line: 2782, col: 58, offset: 90904}, - name: "SingleLineCommentContent", - }, - }, - &ruleRefExpr{ - pos: position{line: 2782, col: 84, offset: 90930}, - name: "EOL", - }, - }, - }, - }, - }, - { - name: "SingleLineCommentDelimiter", - pos: position{line: 2787, col: 1, offset: 91059}, - expr: &seqExpr{ - pos: position{line: 2787, col: 31, offset: 91089}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2787, col: 31, offset: 91089}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2787, col: 36, offset: 91094}, - expr: &litMatcher{ - pos: position{line: 2787, col: 37, offset: 91095}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - }, - }, - }, - }, - { - name: "SingleLineCommentContent", - pos: position{line: 2789, col: 1, offset: 91102}, - expr: &actionExpr{ - pos: position{line: 2789, col: 29, offset: 91130}, - run: (*parser).callonSingleLineCommentContent1, - expr: &zeroOrMoreExpr{ - pos: position{line: 2789, col: 29, offset: 91130}, - expr: &charClassMatcher{ - pos: position{line: 2789, col: 29, offset: 91130}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "Symbol", - pos: position{line: 2796, col: 1, offset: 91372}, + name: "QuotedTextInDoubleQuoteMonospaceText", + pos: position{line: 2283, col: 1, offset: 74874}, expr: &choiceExpr{ - pos: position{line: 2798, col: 5, offset: 91402}, + pos: position{line: 2285, col: 5, offset: 74941}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2798, col: 5, offset: 91402}, - run: (*parser).callonSymbol2, + pos: position{line: 2285, col: 5, offset: 74941}, + run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText2, expr: &seqExpr{ - pos: position{line: 2798, col: 5, offset: 91402}, + pos: position{line: 2285, col: 5, offset: 74941}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2798, col: 5, offset: 91402}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", + &andExpr{ + pos: position{line: 2285, col: 5, offset: 74941}, + expr: &litMatcher{ + pos: position{line: 2285, col: 7, offset: 74943}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, }, - &choiceExpr{ - pos: position{line: 2798, col: 10, offset: 91407}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2798, col: 10, offset: 91407}, - name: "QuotationMark", - }, - &ruleRefExpr{ - pos: position{line: 2798, col: 26, offset: 91423}, - name: "Copyright", - }, - &ruleRefExpr{ - pos: position{line: 2798, col: 38, offset: 91435}, - name: "Trademark", - }, - &ruleRefExpr{ - pos: position{line: 2798, col: 50, offset: 91447}, - name: "Registered", - }, - &ruleRefExpr{ - pos: position{line: 2798, col: 63, offset: 91460}, - name: "Ellipsis", - }, - &ruleRefExpr{ - pos: position{line: 2798, col: 74, offset: 91471}, - name: "SingleRightArrow", - }, - &ruleRefExpr{ - pos: position{line: 2798, col: 93, offset: 91490}, - name: "Mdash", - }, - &ruleRefExpr{ - pos: position{line: 2798, col: 101, offset: 91498}, - name: "SingleLeftArrow", + &labeledExpr{ + pos: position{line: 2286, col: 5, offset: 74952}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2287, col: 9, offset: 74970}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2287, col: 9, offset: 74970}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2288, col: 11, offset: 74997}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2289, col: 11, offset: 75025}, + name: "EscapedMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2290, col: 11, offset: 75053}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2291, col: 11, offset: 75084}, + name: "EscapedSuperscriptText", + }, }, - &ruleRefExpr{ - pos: position{line: 2798, col: 119, offset: 91516}, - name: "DoubleRightArrow", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2297, col: 5, offset: 75184}, + run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText13, + expr: &seqExpr{ + pos: position{line: 2297, col: 5, offset: 75184}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2297, col: 5, offset: 75184}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2297, col: 16, offset: 75195}, + expr: &ruleRefExpr{ + pos: position{line: 2297, col: 17, offset: 75196}, + name: "LongHandAttributes", }, - &ruleRefExpr{ - pos: position{line: 2798, col: 138, offset: 91535}, - name: "DoubleLeftArrow", + }, + }, + &labeledExpr{ + pos: position{line: 2298, col: 5, offset: 75222}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2299, col: 9, offset: 75237}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2299, col: 9, offset: 75237}, + name: "SingleQuoteMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2300, col: 11, offset: 75272}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2301, col: 11, offset: 75291}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2302, col: 11, offset: 75312}, + name: "MarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2303, col: 11, offset: 75333}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2304, col: 11, offset: 75357}, + name: "SuperscriptText", + }, }, }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 2802, col: 7, offset: 91662}, - name: "QuotationMark", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 23, offset: 91678}, - name: "Copyright", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 35, offset: 91690}, - name: "Trademark", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 47, offset: 91702}, - name: "Registered", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 60, offset: 91715}, - name: "Ellipsis", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 71, offset: 91726}, - name: "Mdash", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 79, offset: 91734}, - name: "SingleRightArrow", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 98, offset: 91753}, - name: "SingleLeftArrow", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 116, offset: 91771}, - name: "DoubleRightArrow", - }, - &ruleRefExpr{ - pos: position{line: 2802, col: 135, offset: 91790}, - name: "DoubleLeftArrow", - }, - &ruleRefExpr{ - pos: position{line: 2804, col: 7, offset: 91820}, - name: "TypographicQuote", - }, }, }, }, { - name: "QuotationMark", - pos: position{line: 2806, col: 1, offset: 91838}, - expr: &choiceExpr{ - pos: position{line: 2807, col: 5, offset: 91860}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2807, col: 5, offset: 91860}, - run: (*parser).callonQuotationMark2, - expr: &litMatcher{ - pos: position{line: 2807, col: 5, offset: 91860}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2810, col: 7, offset: 91918}, - run: (*parser).callonQuotationMark4, - expr: &litMatcher{ - pos: position{line: 2810, col: 7, offset: 91918}, - val: "`\"", + name: "SingleQuoteMonospaceText", + pos: position{line: 2323, col: 1, offset: 76096}, + expr: &actionExpr{ + pos: position{line: 2324, col: 5, offset: 76129}, + run: (*parser).callonSingleQuoteMonospaceText1, + expr: &seqExpr{ + pos: position{line: 2324, col: 5, offset: 76129}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2319, col: 43, offset: 76044}, + val: "`", ignoreCase: false, - want: "\"`\\\"\"", + want: "\"`\"", }, - }, - &actionExpr{ - pos: position{line: 2813, col: 7, offset: 91976}, - run: (*parser).callonQuotationMark6, - expr: &litMatcher{ - pos: position{line: 2813, col: 7, offset: 91976}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", + &labeledExpr{ + pos: position{line: 2325, col: 5, offset: 76173}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2325, col: 15, offset: 76183}, + name: "SingleQuoteMonospaceTextElements", + }, }, - }, - &actionExpr{ - pos: position{line: 2816, col: 7, offset: 92032}, - run: (*parser).callonQuotationMark8, - expr: &litMatcher{ - pos: position{line: 2816, col: 7, offset: 92032}, - val: "`'", + &litMatcher{ + pos: position{line: 2321, col: 41, offset: 76090}, + val: "`", ignoreCase: false, - want: "\"`'\"", + want: "\"`\"", }, }, }, }, }, { - name: "RawApostrophe", - pos: position{line: 2820, col: 1, offset: 92084}, - expr: &litMatcher{ - pos: position{line: 2820, col: 18, offset: 92101}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - { - name: "Copyright", - pos: position{line: 2822, col: 1, offset: 92141}, - expr: &actionExpr{ - pos: position{line: 2822, col: 14, offset: 92154}, - run: (*parser).callonCopyright1, - expr: &litMatcher{ - pos: position{line: 2822, col: 14, offset: 92154}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - }, - { - name: "Trademark", - pos: position{line: 2826, col: 1, offset: 92207}, - expr: &actionExpr{ - pos: position{line: 2826, col: 14, offset: 92220}, - run: (*parser).callonTrademark1, - expr: &litMatcher{ - pos: position{line: 2826, col: 14, offset: 92220}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - }, - { - name: "Registered", - pos: position{line: 2830, col: 1, offset: 92275}, - expr: &actionExpr{ - pos: position{line: 2830, col: 15, offset: 92289}, - run: (*parser).callonRegistered1, - expr: &litMatcher{ - pos: position{line: 2830, col: 15, offset: 92289}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - }, - { - name: "Ellipsis", - pos: position{line: 2834, col: 1, offset: 92342}, + name: "SingleQuoteMonospaceTextElements", + pos: position{line: 2330, col: 1, offset: 76359}, expr: &actionExpr{ - pos: position{line: 2834, col: 13, offset: 92354}, - run: (*parser).callonEllipsis1, - expr: &litMatcher{ - pos: position{line: 2834, col: 13, offset: 92354}, - val: "...", - ignoreCase: false, - want: "\"...\"", + pos: position{line: 2331, col: 5, offset: 76400}, + run: (*parser).callonSingleQuoteMonospaceTextElements1, + expr: &seqExpr{ + pos: position{line: 2331, col: 5, offset: 76400}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2331, col: 5, offset: 76400}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + ¬Expr{ + pos: position{line: 2331, col: 10, offset: 76405}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMonospaceTextElements7, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2332, col: 5, offset: 76444}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2332, col: 14, offset: 76453}, + expr: &ruleRefExpr{ + pos: position{line: 2332, col: 15, offset: 76454}, + name: "SingleQuoteMonospaceTextElement", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2333, col: 5, offset: 76492}, + run: (*parser).callonSingleQuoteMonospaceTextElements12, + }, + }, }, }, }, { - name: "Mdash", - pos: position{line: 2838, col: 1, offset: 92407}, + name: "SingleQuoteMonospaceTextElement", + pos: position{line: 2339, col: 1, offset: 76633}, expr: &choiceExpr{ - pos: position{line: 2841, col: 5, offset: 92511}, + pos: position{line: 2340, col: 5, offset: 76674}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2841, col: 5, offset: 92511}, - run: (*parser).callonMdash2, + pos: position{line: 3045, col: 5, offset: 98581}, + run: (*parser).callonSingleQuoteMonospaceTextElement2, expr: &seqExpr{ - pos: position{line: 2841, col: 5, offset: 92511}, + pos: position{line: 3045, col: 5, offset: 98581}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2841, col: 5, offset: 92511}, - run: (*parser).callonMdash4, - }, - &litMatcher{ - pos: position{line: 2844, col: 5, offset: 92567}, - val: "--", - ignoreCase: false, - want: "\"--\"", + &oneOrMoreExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + expr: &charClassMatcher{ + pos: position{line: 3045, col: 5, offset: 98581}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, - &choiceExpr{ - pos: position{line: 2844, col: 11, offset: 92573}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2844, col: 11, offset: 92573}, - name: "Space", - }, - &andExpr{ - pos: position{line: 2844, col: 19, offset: 92581}, - expr: &ruleRefExpr{ - pos: position{line: 2844, col: 20, offset: 92582}, - name: "EOL", + &andExpr{ + pos: position{line: 3045, col: 15, offset: 98591}, + expr: &choiceExpr{ + pos: position{line: 3045, col: 17, offset: 98593}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3045, col: 17, offset: 98593}, + val: "[\\r\\n ,]]", + chars: []rune{'\r', '\n', ' ', ',', ']'}, + ignoreCase: false, + inverted: false, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, }, }, }, @@ -14257,33 +58677,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2849, col: 5, offset: 92702}, - run: (*parser).callonMdash10, + pos: position{line: 3047, col: 9, offset: 98675}, + run: (*parser).callonSingleQuoteMonospaceTextElement11, expr: &seqExpr{ - pos: position{line: 2849, col: 5, offset: 92702}, + pos: position{line: 3047, col: 9, offset: 98675}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2849, col: 5, offset: 92702}, - run: (*parser).callonMdash12, - }, - &litMatcher{ - pos: position{line: 2852, col: 5, offset: 92761}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andExpr{ - pos: position{line: 2852, col: 10, offset: 92766}, - expr: &choiceExpr{ - pos: position{line: 2852, col: 12, offset: 92768}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2852, col: 12, offset: 92768}, - name: "Alphanum", + &oneOrMoreExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + expr: &charClassMatcher{ + pos: position{line: 3047, col: 9, offset: 98675}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3047, col: 19, offset: 98685}, + expr: &seqExpr{ + pos: position{line: 3047, col: 20, offset: 98686}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3047, col: 20, offset: 98686}, + val: "[=*_`]", + chars: []rune{'=', '*', '_', '`'}, + ignoreCase: false, + inverted: false, }, - &ruleRefExpr{ - pos: position{line: 2852, col: 23, offset: 92779}, - name: "EOL", + &oneOrMoreExpr{ + pos: position{line: 3047, col: 27, offset: 98693}, + expr: &charClassMatcher{ + pos: position{line: 3047, col: 27, offset: 98693}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -14291,1049 +58722,873 @@ var g = &grammar{ }, }, }, - }, - }, - }, - { - name: "SingleRightArrow", - pos: position{line: 2857, col: 1, offset: 92835}, - expr: &actionExpr{ - pos: position{line: 2857, col: 21, offset: 92855}, - run: (*parser).callonSingleRightArrow1, - expr: &litMatcher{ - pos: position{line: 2857, col: 21, offset: 92855}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - }, - { - name: "SingleLeftArrow", - pos: position{line: 2861, col: 1, offset: 92906}, - expr: &actionExpr{ - pos: position{line: 2861, col: 20, offset: 92925}, - run: (*parser).callonSingleLeftArrow1, - expr: &litMatcher{ - pos: position{line: 2861, col: 20, offset: 92925}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - }, - { - name: "DoubleRightArrow", - pos: position{line: 2865, col: 1, offset: 92976}, - expr: &actionExpr{ - pos: position{line: 2865, col: 21, offset: 92996}, - run: (*parser).callonDoubleRightArrow1, - expr: &litMatcher{ - pos: position{line: 2865, col: 21, offset: 92996}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - }, - { - name: "DoubleLeftArrow", - pos: position{line: 2869, col: 1, offset: 93047}, - expr: &actionExpr{ - pos: position{line: 2869, col: 20, offset: 93066}, - run: (*parser).callonDoubleLeftArrow1, - expr: &litMatcher{ - pos: position{line: 2869, col: 20, offset: 93066}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - { - name: "TypographicQuote", - pos: position{line: 2878, col: 1, offset: 93334}, - expr: &choiceExpr{ - pos: position{line: 2880, col: 5, offset: 93374}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2880, col: 5, offset: 93374}, - run: (*parser).callonTypographicQuote2, - expr: &seqExpr{ - pos: position{line: 2880, col: 5, offset: 93374}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2880, col: 5, offset: 93374}, - name: "Alphanum", - }, - &litMatcher{ - pos: position{line: 2880, col: 14, offset: 93383}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonSingleQuoteMonospaceTextElement20, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2342, col: 7, offset: 76699}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMonospaceTextElement24, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, - &andExpr{ - pos: position{line: 2880, col: 19, offset: 93388}, - expr: &charClassMatcher{ - pos: position{line: 2880, col: 20, offset: 93389}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + ¬Expr{ + pos: position{line: 2342, col: 15, offset: 76707}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMonospaceTextElement30, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 2886, col: 5, offset: 93620}, - run: (*parser).callonTypographicQuote8, + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuoteMonospaceTextElement35, expr: &seqExpr{ - pos: position{line: 2886, col: 5, offset: 93620}, + pos: position{line: 647, col: 5, offset: 20685}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2886, col: 5, offset: 93620}, - name: "Alphanum", - }, - &litMatcher{ - pos: position{line: 2886, col: 14, offset: 93629}, - val: "'", - ignoreCase: false, - want: "\"'\"", + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuoteMonospaceTextElement37, }, - &andExpr{ - pos: position{line: 2886, col: 18, offset: 93633}, - expr: &charClassMatcher{ - pos: position{line: 2886, col: 19, offset: 93634}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonSingleQuoteMonospaceTextElement40, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMonospaceTextElement44, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuoteMonospaceTextElement51, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuoteMonospaceTextElement56, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuoteMonospaceTextElement58, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonSingleQuoteMonospaceTextElement62, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMonospaceTextElement66, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuoteMonospaceTextElement73, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuoteMonospaceTextElement78, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuoteMonospaceTextElement80, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuoteMonospaceTextElement84, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMonospaceTextElement88, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuoteMonospaceTextElement94, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMonospaceTextElement98, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, }, }, }, }, }, - }, - }, - }, - { - name: "Table", - pos: position{line: 2893, col: 1, offset: 93927}, - expr: &actionExpr{ - pos: position{line: 2894, col: 5, offset: 93941}, - run: (*parser).callonTable1, - expr: &seqExpr{ - pos: position{line: 2894, col: 5, offset: 93941}, - exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2894, col: 5, offset: 93941}, - name: "TableStartDelimiter", - }, - &labeledExpr{ - pos: position{line: 2895, col: 5, offset: 93965}, - label: "header", - expr: &zeroOrOneExpr{ - pos: position{line: 2895, col: 12, offset: 93972}, - expr: &ruleRefExpr{ - pos: position{line: 2895, col: 13, offset: 93973}, - name: "TableHeader", - }, - }, - }, - &labeledExpr{ - pos: position{line: 2896, col: 5, offset: 93991}, - label: "rows", - expr: &zeroOrMoreExpr{ - pos: position{line: 2896, col: 10, offset: 93996}, - expr: &ruleRefExpr{ - pos: position{line: 2896, col: 11, offset: 93997}, - name: "TableRow", - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2897, col: 5, offset: 94012}, - name: "TableEndDelimiter", - }, - }, - }, - }, - }, - { - name: "TableDelimiter", - pos: position{line: 2902, col: 1, offset: 94100}, - expr: &seqExpr{ - pos: position{line: 2902, col: 19, offset: 94118}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2902, col: 19, offset: 94118}, - val: "|===", - ignoreCase: false, - want: "\"|===\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 2902, col: 26, offset: 94125}, - expr: &ruleRefExpr{ - pos: position{line: 2902, col: 26, offset: 94125}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 2902, col: 33, offset: 94132}, - name: "EOL", - }, - }, - }, - }, - { - name: "TableStartDelimiter", - pos: position{line: 2904, col: 1, offset: 94138}, - expr: &ruleRefExpr{ - pos: position{line: 2904, col: 24, offset: 94161}, - name: "TableDelimiter", - }, - }, - { - name: "TableEndDelimiter", - pos: position{line: 2906, col: 1, offset: 94177}, - expr: &choiceExpr{ - pos: position{line: 2906, col: 22, offset: 94198}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2906, col: 22, offset: 94198}, - name: "TableDelimiter", - }, &ruleRefExpr{ - pos: position{line: 2906, col: 39, offset: 94215}, - name: "EOF", + pos: position{line: 2344, col: 7, offset: 76781}, + name: "InlineMacro", }, - }, - }, - }, - { - name: "TableHeader", - pos: position{line: 2908, col: 1, offset: 94220}, - expr: &actionExpr{ - pos: position{line: 2910, col: 5, offset: 94285}, - run: (*parser).callonTableHeader1, - expr: &seqExpr{ - pos: position{line: 2910, col: 5, offset: 94285}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2910, col: 5, offset: 94285}, - label: "cells", - expr: &oneOrMoreExpr{ - pos: position{line: 2910, col: 11, offset: 94291}, - expr: &ruleRefExpr{ - pos: position{line: 2910, col: 12, offset: 94292}, - name: "HeaderCell", + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonSingleQuoteMonospaceTextElement105, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2910, col: 25, offset: 94305}, - name: "EOL", - }, - &oneOrMoreExpr{ - pos: position{line: 2911, col: 5, offset: 94313}, - expr: &ruleRefExpr{ - pos: position{line: 2911, col: 5, offset: 94313}, - name: "BlankLine", - }, - }, - }, - }, - }, - }, - { - name: "HeaderCell", - pos: position{line: 2915, col: 1, offset: 94389}, - expr: &actionExpr{ - pos: position{line: 2916, col: 5, offset: 94408}, - run: (*parser).callonHeaderCell1, - expr: &seqExpr{ - pos: position{line: 2916, col: 5, offset: 94408}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2916, col: 5, offset: 94408}, - val: "|", - ignoreCase: false, - want: "\"|\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 2916, col: 9, offset: 94412}, - expr: &ruleRefExpr{ - pos: position{line: 2916, col: 9, offset: 94412}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 2917, col: 5, offset: 94424}, - label: "content", - expr: &zeroOrOneExpr{ - pos: position{line: 2917, col: 14, offset: 94433}, - expr: &ruleRefExpr{ - pos: position{line: 2917, col: 14, offset: 94433}, - name: "CellContent", - }, - }, - }, - }, - }, - }, - }, - { - name: "TableRow", - pos: position{line: 2921, col: 1, offset: 94518}, - expr: &choiceExpr{ - pos: position{line: 2921, col: 13, offset: 94530}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2921, col: 13, offset: 94530}, - name: "MultiLineTableRow", - }, - &ruleRefExpr{ - pos: position{line: 2921, col: 33, offset: 94550}, - name: "SingleLineTableRow", - }, - }, - }, - }, - { - name: "SingleLineTableRow", - pos: position{line: 2923, col: 1, offset: 94570}, - expr: &actionExpr{ - pos: position{line: 2924, col: 5, offset: 94597}, - run: (*parser).callonSingleLineTableRow1, - expr: &seqExpr{ - pos: position{line: 2924, col: 5, offset: 94597}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2924, col: 5, offset: 94597}, - expr: &ruleRefExpr{ - pos: position{line: 2924, col: 6, offset: 94598}, - name: "TableEndDelimiter", - }, - }, - &labeledExpr{ - pos: position{line: 2925, col: 5, offset: 94620}, - label: "cells", - expr: &oneOrMoreExpr{ - pos: position{line: 2925, col: 11, offset: 94626}, - expr: &ruleRefExpr{ - pos: position{line: 2925, col: 12, offset: 94627}, - name: "TableCell", - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2925, col: 24, offset: 94639}, - name: "EOL", - }, - &zeroOrMoreExpr{ - pos: position{line: 2926, col: 5, offset: 94647}, - expr: &ruleRefExpr{ - pos: position{line: 2926, col: 5, offset: 94647}, - name: "BlankLine", - }, - }, - }, - }, - }, - }, - { - name: "MultiLineTableRow", - pos: position{line: 2930, col: 1, offset: 94723}, - expr: &actionExpr{ - pos: position{line: 2931, col: 5, offset: 94749}, - run: (*parser).callonMultiLineTableRow1, - expr: &seqExpr{ - pos: position{line: 2931, col: 5, offset: 94749}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2931, col: 5, offset: 94749}, - expr: &ruleRefExpr{ - pos: position{line: 2931, col: 6, offset: 94750}, - name: "TableEndDelimiter", - }, - }, - &labeledExpr{ - pos: position{line: 2932, col: 5, offset: 94772}, - label: "cells", - expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 94778}, - expr: &actionExpr{ - pos: position{line: 2932, col: 12, offset: 94779}, - run: (*parser).callonMultiLineTableRow7, - expr: &seqExpr{ - pos: position{line: 2932, col: 12, offset: 94779}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2932, col: 12, offset: 94779}, - label: "cell", - expr: &ruleRefExpr{ - pos: position{line: 2932, col: 18, offset: 94785}, - name: "TableCell", - }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuoteMonospaceTextElement109, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", }, - &ruleRefExpr{ - pos: position{line: 2932, col: 29, offset: 94796}, - name: "EOL", + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuoteMonospaceTextElement111, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", }, }, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2935, col: 6, offset: 94841}, - alternatives: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2935, col: 6, offset: 94841}, - expr: &ruleRefExpr{ - pos: position{line: 2935, col: 6, offset: 94841}, - name: "BlankLine", - }, - }, - &andExpr{ - pos: position{line: 2935, col: 19, offset: 94854}, - expr: &ruleRefExpr{ - pos: position{line: 2935, col: 20, offset: 94855}, - name: "TableEndDelimiter", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "TableCell", - pos: position{line: 2940, col: 1, offset: 95002}, - expr: &actionExpr{ - pos: position{line: 2941, col: 5, offset: 95020}, - run: (*parser).callonTableCell1, - expr: &seqExpr{ - pos: position{line: 2941, col: 5, offset: 95020}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2941, col: 5, offset: 95020}, - expr: &ruleRefExpr{ - pos: position{line: 2941, col: 6, offset: 95021}, - name: "TableEndDelimiter", - }, - }, - ¬Expr{ - pos: position{line: 2942, col: 5, offset: 95043}, - expr: &ruleRefExpr{ - pos: position{line: 2942, col: 6, offset: 95044}, - name: "BlankLine", - }, - }, - &litMatcher{ - pos: position{line: 2943, col: 5, offset: 95058}, - val: "|", - ignoreCase: false, - want: "\"|\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 2943, col: 9, offset: 95062}, - expr: &ruleRefExpr{ - pos: position{line: 2943, col: 9, offset: 95062}, - name: "Space", - }, - }, - &labeledExpr{ - pos: position{line: 2943, col: 16, offset: 95069}, - label: "content", - expr: &zeroOrOneExpr{ - pos: position{line: 2943, col: 25, offset: 95078}, - expr: &ruleRefExpr{ - pos: position{line: 2943, col: 25, offset: 95078}, - name: "CellContent", - }, - }, - }, - }, - }, - }, - }, - { - name: "CellContent", - pos: position{line: 2948, col: 1, offset: 95201}, - expr: &actionExpr{ - pos: position{line: 2949, col: 5, offset: 95221}, - run: (*parser).callonCellContent1, - expr: &labeledExpr{ - pos: position{line: 2949, col: 5, offset: 95221}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2949, col: 14, offset: 95230}, - run: (*parser).callonCellContent3, - expr: &oneOrMoreExpr{ - pos: position{line: 2949, col: 14, offset: 95230}, - expr: &charClassMatcher{ - pos: position{line: 2949, col: 14, offset: 95230}, - val: "[^\\r\\n|]", - chars: []rune{'\r', '\n', '|'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - { - name: "TableColumnsAttribute", - pos: position{line: 2956, col: 1, offset: 95399}, - expr: &actionExpr{ - pos: position{line: 2956, col: 26, offset: 95424}, - run: (*parser).callonTableColumnsAttribute1, - expr: &seqExpr{ - pos: position{line: 2956, col: 26, offset: 95424}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2956, col: 26, offset: 95424}, - label: "cols", - expr: &zeroOrMoreExpr{ - pos: position{line: 2956, col: 31, offset: 95429}, - expr: &ruleRefExpr{ - pos: position{line: 2956, col: 32, offset: 95430}, - name: "Column", - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2956, col: 41, offset: 95439}, - name: "EOF", - }, - }, - }, - }, - }, - { - name: "Column", - pos: position{line: 2960, col: 1, offset: 95477}, - expr: &actionExpr{ - pos: position{line: 2961, col: 5, offset: 95492}, - run: (*parser).callonColumn1, - expr: &seqExpr{ - pos: position{line: 2961, col: 5, offset: 95492}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2961, col: 5, offset: 95492}, - expr: &ruleRefExpr{ - pos: position{line: 2961, col: 6, offset: 95493}, - name: "EOF", - }, - }, - &labeledExpr{ - pos: position{line: 2964, col: 5, offset: 95616}, - label: "multiplier", - expr: &zeroOrOneExpr{ - pos: position{line: 2964, col: 16, offset: 95627}, - expr: &actionExpr{ - pos: position{line: 2964, col: 17, offset: 95628}, - run: (*parser).callonColumn7, - expr: &seqExpr{ - pos: position{line: 2964, col: 17, offset: 95628}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2964, col: 17, offset: 95628}, - label: "n", - expr: &ruleRefExpr{ - pos: position{line: 2964, col: 19, offset: 95630}, - name: "Integer", - }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuoteMonospaceTextElement113, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", }, - &litMatcher{ - pos: position{line: 2964, col: 27, offset: 95638}, - val: "*", + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuoteMonospaceTextElement115, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", ignoreCase: false, - want: "\"*\"", + want: "\"`'\"", }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2965, col: 5, offset: 95666}, - label: "halign", - expr: &zeroOrOneExpr{ - pos: position{line: 2965, col: 12, offset: 95673}, - expr: &choiceExpr{ - pos: position{line: 2966, col: 9, offset: 95683}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2966, col: 9, offset: 95683}, - run: (*parser).callonColumn15, + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteMonospaceTextElement117, expr: &litMatcher{ - pos: position{line: 2966, col: 9, offset: 95683}, - val: "<", + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", ignoreCase: false, - want: "\"<\"", + want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2967, col: 11, offset: 95730}, - run: (*parser).callonColumn17, + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSingleQuoteMonospaceTextElement119, expr: &litMatcher{ - pos: position{line: 2967, col: 11, offset: 95730}, - val: ">", + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", ignoreCase: false, - want: "\">\"", + want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2968, col: 11, offset: 95778}, - run: (*parser).callonColumn19, + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSingleQuoteMonospaceTextElement121, expr: &litMatcher{ - pos: position{line: 2968, col: 11, offset: 95778}, - val: "^", + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", ignoreCase: false, - want: "\"^\"", + want: "\"(R)\"", }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2970, col: 5, offset: 95828}, - label: "valign", - expr: &zeroOrOneExpr{ - pos: position{line: 2970, col: 12, offset: 95835}, - expr: &choiceExpr{ - pos: position{line: 2971, col: 9, offset: 95845}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2971, col: 9, offset: 95845}, - run: (*parser).callonColumn24, + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSingleQuoteMonospaceTextElement123, expr: &litMatcher{ - pos: position{line: 2971, col: 9, offset: 95845}, - val: ".<", + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", ignoreCase: false, - want: "\".<\"", + want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2972, col: 11, offset: 95892}, - run: (*parser).callonColumn26, + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSingleQuoteMonospaceTextElement125, expr: &litMatcher{ - pos: position{line: 2972, col: 11, offset: 95892}, - val: ".>", + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", ignoreCase: false, - want: "\".>\"", + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteMonospaceTextElement127, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteMonospaceTextElement129, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMonospaceTextElement132, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMonospaceTextElement136, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteMonospaceTextElement143, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteMonospaceTextElement145, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMonospaceTextElement150, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, }, }, &actionExpr{ - pos: position{line: 2973, col: 11, offset: 95942}, - run: (*parser).callonColumn28, + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSingleQuoteMonospaceTextElement157, expr: &litMatcher{ - pos: position{line: 2973, col: 11, offset: 95942}, - val: ".^", + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", ignoreCase: false, - want: "\".^\"", + want: "\"<-\"", }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2975, col: 5, offset: 95993}, - label: "weight", - expr: &zeroOrOneExpr{ - pos: position{line: 2975, col: 12, offset: 96000}, - expr: &choiceExpr{ - pos: position{line: 2975, col: 13, offset: 96001}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2975, col: 13, offset: 96001}, - name: "Integer", + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSingleQuoteMonospaceTextElement159, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, }, &actionExpr{ - pos: position{line: 2975, col: 24, offset: 96012}, - run: (*parser).callonColumn34, + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSingleQuoteMonospaceTextElement161, expr: &litMatcher{ - pos: position{line: 2975, col: 24, offset: 96012}, - val: "~", + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", ignoreCase: false, - want: "\"~\"", + want: "\"<=\"", }, }, }, }, }, }, - &labeledExpr{ - pos: position{line: 2976, col: 5, offset: 96054}, - label: "style", - expr: &zeroOrOneExpr{ - pos: position{line: 2976, col: 11, offset: 96060}, - expr: &actionExpr{ - pos: position{line: 2976, col: 12, offset: 96061}, - run: (*parser).callonColumn38, - expr: &charClassMatcher{ - pos: position{line: 2976, col: 12, offset: 96061}, - val: "[adehlms]", - chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2978, col: 5, offset: 96191}, - label: "comma", - expr: &zeroOrOneExpr{ - pos: position{line: 2978, col: 11, offset: 96197}, - expr: &litMatcher{ - pos: position{line: 2978, col: 12, offset: 96198}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2979, col: 5, offset: 96208}, - run: (*parser).callonColumn43, - }, }, - }, - }, - }, - { - name: "ThematicBreak", - pos: position{line: 2996, col: 1, offset: 96795}, - expr: &actionExpr{ - pos: position{line: 2996, col: 18, offset: 96812}, - run: (*parser).callonThematicBreak1, - expr: &seqExpr{ - pos: position{line: 2996, col: 18, offset: 96812}, - exprs: []interface{}{ - &choiceExpr{ - pos: position{line: 2997, col: 9, offset: 96822}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2997, col: 9, offset: 96822}, - val: "'''", - ignoreCase: false, - want: "\"'''\"", - }, - &litMatcher{ - pos: position{line: 2998, col: 11, offset: 96858}, - val: "***", - ignoreCase: false, - want: "\"***\"", - }, - &litMatcher{ - pos: position{line: 2998, col: 19, offset: 96866}, - val: "* * *", - ignoreCase: false, - want: "\"* * *\"", - }, - &litMatcher{ - pos: position{line: 2998, col: 29, offset: 96876}, - val: "---", - ignoreCase: false, - want: "\"---\"", - }, - &litMatcher{ - pos: position{line: 2998, col: 37, offset: 96884}, - val: "- - -", - ignoreCase: false, - want: "\"- - -\"", - }, - &litMatcher{ - pos: position{line: 2998, col: 47, offset: 96894}, - val: "___", - ignoreCase: false, - want: "\"___\"", - }, - &litMatcher{ - pos: position{line: 2998, col: 55, offset: 96902}, - val: "_ _ _", - ignoreCase: false, - want: "\"_ _ _\"", - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 2999, col: 11, offset: 96960}, - expr: &ruleRefExpr{ - pos: position{line: 2999, col: 11, offset: 96960}, - name: "Space", - }, - }, - &ruleRefExpr{ - pos: position{line: 2999, col: 18, offset: 96967}, - name: "EOL", - }, - &ruleRefExpr{ - pos: position{line: 2999, col: 22, offset: 96971}, - name: "EOL", + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuoteMonospaceTextElement163, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", }, }, - }, - }, - }, - { - name: "UserMacroBlock", - pos: position{line: 3006, col: 1, offset: 97217}, - expr: &actionExpr{ - pos: position{line: 3007, col: 5, offset: 97240}, - run: (*parser).callonUserMacroBlock1, - expr: &seqExpr{ - pos: position{line: 3007, col: 5, offset: 97240}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 3007, col: 5, offset: 97240}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 3007, col: 11, offset: 97246}, - name: "UserMacroName", - }, - }, - &andCodeExpr{ - pos: position{line: 3008, col: 5, offset: 97266}, - run: (*parser).callonUserMacroBlock5, - }, - &litMatcher{ - pos: position{line: 3012, col: 5, offset: 97406}, - val: "::", + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuoteMonospaceTextElement165, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", ignoreCase: false, - want: "\"::\"", - }, - &labeledExpr{ - pos: position{line: 3013, col: 5, offset: 97416}, - label: "value", - expr: &ruleRefExpr{ - pos: position{line: 3013, col: 12, offset: 97423}, - name: "UserMacroValue", - }, - }, - &labeledExpr{ - pos: position{line: 3014, col: 5, offset: 97444}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 3014, col: 17, offset: 97456}, - name: "InlineAttributes", - }, - }, - &ruleRefExpr{ - pos: position{line: 3014, col: 35, offset: 97474}, - name: "EOL", + want: "\"`\\\"\"", }, }, - }, - }, - }, - { - name: "InlineUserMacro", - pos: position{line: 3018, col: 1, offset: 97604}, - expr: &actionExpr{ - pos: position{line: 3019, col: 5, offset: 97628}, - run: (*parser).callonInlineUserMacro1, - expr: &seqExpr{ - pos: position{line: 3019, col: 5, offset: 97628}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 3019, col: 5, offset: 97628}, - label: "name", - expr: &ruleRefExpr{ - pos: position{line: 3019, col: 11, offset: 97634}, - name: "UserMacroName", - }, - }, - &andCodeExpr{ - pos: position{line: 3020, col: 5, offset: 97654}, - run: (*parser).callonInlineUserMacro5, - }, - &litMatcher{ - pos: position{line: 3024, col: 5, offset: 97794}, - val: ":", + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuoteMonospaceTextElement167, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 3025, col: 5, offset: 97803}, - label: "value", - expr: &ruleRefExpr{ - pos: position{line: 3025, col: 12, offset: 97810}, - name: "UserMacroValue", - }, - }, - &labeledExpr{ - pos: position{line: 3026, col: 5, offset: 97831}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 3026, col: 17, offset: 97843}, - name: "InlineAttributes", - }, + want: "\"'`\"", }, }, - }, - }, - }, - { - name: "UserMacroName", - pos: position{line: 3030, col: 1, offset: 97988}, - expr: &actionExpr{ - pos: position{line: 3030, col: 18, offset: 98005}, - run: (*parser).callonUserMacroName1, - expr: &oneOrMoreExpr{ - pos: position{line: 3030, col: 19, offset: 98006}, - expr: &charClassMatcher{ - pos: position{line: 3030, col: 19, offset: 98006}, - val: "[\\pL0-9_-]", - chars: []rune{'_', '-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - { - name: "UserMacroValue", - pos: position{line: 3034, col: 1, offset: 98063}, - expr: &actionExpr{ - pos: position{line: 3034, col: 19, offset: 98081}, - run: (*parser).callonUserMacroValue1, - expr: &zeroOrMoreExpr{ - pos: position{line: 3034, col: 19, offset: 98081}, - expr: &charClassMatcher{ - pos: position{line: 3034, col: 19, offset: 98081}, - val: "[^:[ \\r\\n]", - chars: []rune{':', '[', ' ', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - { - name: "Alphanum", - pos: position{line: 3041, col: 1, offset: 98329}, - expr: &charClassMatcher{ - pos: position{line: 3041, col: 13, offset: 98341}, - val: "[\\pL0-9]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - { - name: "Parenthesis", - pos: position{line: 3043, col: 1, offset: 98351}, - expr: &choiceExpr{ - pos: position{line: 3043, col: 16, offset: 98366}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3043, col: 16, offset: 98366}, - val: "(", - ignoreCase: false, - want: "\"(\"", - }, - &litMatcher{ - pos: position{line: 3043, col: 22, offset: 98372}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - &litMatcher{ - pos: position{line: 3043, col: 28, offset: 98378}, - val: "[", - ignoreCase: false, - want: "\"[\"", + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuoteMonospaceTextElement169, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, }, - &litMatcher{ - pos: position{line: 3043, col: 34, offset: 98384}, - val: "]", - ignoreCase: false, - want: "\"]\"", + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteMonospaceTextElement171, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, }, - &litMatcher{ - pos: position{line: 3043, col: 40, offset: 98390}, - val: "{", - ignoreCase: false, - want: "\"{\"", + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSingleQuoteMonospaceTextElement173, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, }, - &litMatcher{ - pos: position{line: 3043, col: 46, offset: 98396}, - val: "}", - ignoreCase: false, - want: "\"}\"", + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSingleQuoteMonospaceTextElement175, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, }, - }, - }, - }, - { - name: "Alphanums", - pos: position{line: 3045, col: 1, offset: 98402}, - expr: &actionExpr{ - pos: position{line: 3045, col: 14, offset: 98415}, - run: (*parser).callonAlphanums1, - expr: &oneOrMoreExpr{ - pos: position{line: 3045, col: 14, offset: 98415}, - expr: &charClassMatcher{ - pos: position{line: 3045, col: 14, offset: 98415}, - val: "[\\pL0-9]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSingleQuoteMonospaceTextElement177, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, }, - }, - }, - }, - { - name: "Word", - pos: position{line: 3049, col: 1, offset: 98469}, - expr: &choiceExpr{ - pos: position{line: 3053, col: 5, offset: 98796}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3053, col: 5, offset: 98796}, - run: (*parser).callonWord2, + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteMonospaceTextElement179, expr: &seqExpr{ - pos: position{line: 3053, col: 5, offset: 98796}, + pos: position{line: 2833, col: 5, offset: 92296}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 3053, col: 5, offset: 98796}, - expr: &charClassMatcher{ - pos: position{line: 3053, col: 5, offset: 98796}, - val: "[\\pL0-9]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteMonospaceTextElement181, }, - &andExpr{ - pos: position{line: 3053, col: 15, offset: 98806}, - expr: &choiceExpr{ - pos: position{line: 3053, col: 17, offset: 98808}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 3053, col: 17, offset: 98808}, - val: "[\\r\\n ,\\]]", - chars: []rune{'\r', '\n', ' ', ',', ']'}, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMonospaceTextElement184, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, inverted: false, }, - &ruleRefExpr{ - pos: position{line: 3053, col: 30, offset: 98821}, - name: "EOF", + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMonospaceTextElement188, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, }, }, }, @@ -15342,43 +59597,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3055, col: 9, offset: 98890}, - run: (*parser).callonWord10, + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteMonospaceTextElement195, expr: &seqExpr{ - pos: position{line: 3055, col: 9, offset: 98890}, + pos: position{line: 2841, col: 5, offset: 92487}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 3055, col: 9, offset: 98890}, - expr: &charClassMatcher{ - pos: position{line: 3055, col: 9, offset: 98890}, - val: "[\\pL0-9]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteMonospaceTextElement197, }, - &oneOrMoreExpr{ - pos: position{line: 3055, col: 19, offset: 98900}, - expr: &seqExpr{ - pos: position{line: 3055, col: 20, offset: 98901}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 3055, col: 20, offset: 98901}, - val: "[=*_`]", - chars: []rune{'=', '*', '_', '`'}, - ignoreCase: false, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, inverted: false, }, - &oneOrMoreExpr{ - pos: position{line: 3055, col: 27, offset: 98908}, - expr: &charClassMatcher{ - pos: position{line: 3055, col: 27, offset: 98908}, - val: "[\\pL0-9]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMonospaceTextElement202, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, }, }, }, @@ -15387,55 +59664,404 @@ var g = &grammar{ }, }, }, - }, - }, - }, - { - name: "InlineWord", - pos: position{line: 3059, col: 1, offset: 98995}, - expr: &actionExpr{ - pos: position{line: 3060, col: 5, offset: 99014}, - run: (*parser).callonInlineWord1, - expr: &seqExpr{ - pos: position{line: 3060, col: 5, offset: 99014}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 3060, col: 5, offset: 99014}, - expr: &charClassMatcher{ - pos: position{line: 3060, col: 5, offset: 99014}, - val: "[\\pL0-9,;!?]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSingleQuoteMonospaceTextElement209, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSingleQuoteMonospaceTextElement211, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSingleQuoteMonospaceTextElement213, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSingleQuoteMonospaceTextElement215, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonSingleQuoteMonospaceTextElement217, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, - &choiceExpr{ - pos: position{line: 3061, col: 6, offset: 99064}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 3061, col: 6, offset: 99064}, - name: "Space", + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonSingleQuoteMonospaceTextElement223, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", }, &andExpr{ - pos: position{line: 3061, col: 14, offset: 99072}, + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSingleQuoteMonospaceTextElement229, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSingleQuoteMonospaceTextElement231, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", expr: &choiceExpr{ - pos: position{line: 3061, col: 16, offset: 99074}, + pos: position{line: 2762, col: 9, offset: 90189}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3061, col: 16, offset: 99074}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - &ruleRefExpr{ - pos: position{line: 3061, col: 22, offset: 99080}, - name: "ElementPlaceHolderDelimiter", + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonSingleQuoteMonospaceTextElement234, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonSingleQuoteMonospaceTextElement236, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSingleQuoteMonospaceTextElement240, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMonospaceTextElement244, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonSingleQuoteMonospaceTextElement250, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuoteMonospaceTextElement255, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMonospaceTextElement259, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuoteMonospaceTextElement265, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMonospaceTextElement269, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonSingleQuoteMonospaceTextElement275, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonSingleQuoteMonospaceTextElement278, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSingleQuoteMonospaceTextElement282, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, }, - &ruleRefExpr{ - pos: position{line: 3061, col: 52, offset: 99110}, - name: "EOL", + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonSingleQuoteMonospaceTextElement286, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -15443,135 +60069,91 @@ var g = &grammar{ }, }, }, - }, - }, - }, - { - name: "Punctuation", - pos: position{line: 3066, col: 1, offset: 99233}, - expr: &actionExpr{ - pos: position{line: 3066, col: 16, offset: 99248}, - run: (*parser).callonPunctuation1, - expr: &seqExpr{ - pos: position{line: 3066, col: 16, offset: 99248}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 3066, col: 16, offset: 99248}, - label: "char", - expr: &ruleRefExpr{ - pos: position{line: 3066, col: 22, offset: 99254}, - name: "PunctuationCharacter", - }, - }, - &andExpr{ - pos: position{line: 3066, col: 44, offset: 99276}, - expr: &choiceExpr{ - pos: position{line: 3066, col: 46, offset: 99278}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 3066, col: 46, offset: 99278}, - name: "Space", - }, - &ruleRefExpr{ - pos: position{line: 3066, col: 54, offset: 99286}, - name: "EOL", + &ruleRefExpr{ + pos: position{line: 2347, col: 7, offset: 76886}, + name: "QuotedTextInSingleQuoteMonospaceText", + }, + &litMatcher{ + pos: position{line: 2812, col: 18, offset: 91886}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonSingleQuoteMonospaceTextElement290, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonSingleQuoteMonospaceTextElement294, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, }, }, }, - }, - }, - }, - { - name: "PunctuationCharacter", - pos: position{line: 3073, col: 1, offset: 99415}, - expr: &actionExpr{ - pos: position{line: 3073, col: 25, offset: 99439}, - run: (*parser).callonPunctuationCharacter1, - expr: &charClassMatcher{ - pos: position{line: 3073, col: 25, offset: 99439}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - { - name: "AnyChar", - pos: position{line: 3079, col: 1, offset: 99699}, - expr: &actionExpr{ - pos: position{line: 3079, col: 12, offset: 99710}, - run: (*parser).callonAnyChar1, - expr: &anyMatcher{ - line: 3079, col: 12, offset: 99710, - }, - }, - }, - { - name: "FileLocation", - pos: position{line: 3083, col: 1, offset: 99777}, - expr: &actionExpr{ - pos: position{line: 3083, col: 17, offset: 99793}, - run: (*parser).callonFileLocation1, - expr: &labeledExpr{ - pos: position{line: 3083, col: 17, offset: 99793}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 3083, col: 22, offset: 99798}, + &actionExpr{ + pos: position{line: 2378, col: 5, offset: 77651}, + run: (*parser).callonSingleQuoteMonospaceTextElement298, expr: &choiceExpr{ - pos: position{line: 3083, col: 23, offset: 99799}, + pos: position{line: 2378, col: 6, offset: 77652}, alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 3083, col: 23, offset: 99799}, - name: "Filename", - }, - &ruleRefExpr{ - pos: position{line: 3083, col: 34, offset: 99810}, - name: "ElementPlaceHolder", - }, - }, - }, - }, - }, - }, - }, - { - name: "Location", - pos: position{line: 3087, col: 1, offset: 99899}, - expr: &actionExpr{ - pos: position{line: 3087, col: 13, offset: 99911}, - run: (*parser).callonLocation1, - expr: &seqExpr{ - pos: position{line: 3087, col: 13, offset: 99911}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 3087, col: 13, offset: 99911}, - label: "scheme", - expr: &zeroOrOneExpr{ - pos: position{line: 3087, col: 20, offset: 99918}, - expr: &ruleRefExpr{ - pos: position{line: 3087, col: 21, offset: 99919}, - name: "Scheme", + &charClassMatcher{ + pos: position{line: 2378, col: 6, offset: 77652}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, }, - }, - }, - &labeledExpr{ - pos: position{line: 3087, col: 30, offset: 99928}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 3087, col: 35, offset: 99933}, - expr: &choiceExpr{ - pos: position{line: 3087, col: 36, offset: 99934}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 3087, col: 36, offset: 99934}, - name: "Filename", + &seqExpr{ + pos: position{line: 2379, col: 7, offset: 77764}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2245, col: 27, offset: 73605}, + val: "`", + ignoreCase: false, + want: "\"`\"", }, - &ruleRefExpr{ - pos: position{line: 3087, col: 47, offset: 99945}, - name: "ElementPlaceHolder", + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonSingleQuoteMonospaceTextElement303, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, @@ -15582,39 +60164,107 @@ var g = &grammar{ }, }, { - name: "LocationWithScheme", - pos: position{line: 3091, col: 1, offset: 100038}, - expr: &actionExpr{ - pos: position{line: 3091, col: 23, offset: 100060}, - run: (*parser).callonLocationWithScheme1, - expr: &seqExpr{ - pos: position{line: 3091, col: 23, offset: 100060}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 3091, col: 23, offset: 100060}, - expr: &litMatcher{ - pos: position{line: 3091, col: 24, offset: 100061}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 3091, col: 28, offset: 100065}, - label: "scheme", - expr: &ruleRefExpr{ - pos: position{line: 3091, col: 36, offset: 100073}, - name: "Scheme", - }, - }, - &labeledExpr{ - pos: position{line: 3091, col: 44, offset: 100081}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 3091, col: 49, offset: 100086}, - expr: &ruleRefExpr{ - pos: position{line: 3091, col: 50, offset: 100087}, - name: "Filename", + name: "QuotedTextInSingleQuoteMonospaceText", + pos: position{line: 2352, col: 1, offset: 77017}, + expr: &choiceExpr{ + pos: position{line: 2354, col: 5, offset: 77084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2354, col: 5, offset: 77084}, + run: (*parser).callonQuotedTextInSingleQuoteMonospaceText2, + expr: &seqExpr{ + pos: position{line: 2354, col: 5, offset: 77084}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2354, col: 5, offset: 77084}, + expr: &litMatcher{ + pos: position{line: 2354, col: 7, offset: 77086}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2355, col: 5, offset: 77095}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2356, col: 9, offset: 77113}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2356, col: 9, offset: 77113}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2357, col: 11, offset: 77140}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2358, col: 11, offset: 77168}, + name: "EscapedMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2359, col: 11, offset: 77196}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2360, col: 11, offset: 77227}, + name: "EscapedSuperscriptText", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2366, col: 5, offset: 77327}, + run: (*parser).callonQuotedTextInSingleQuoteMonospaceText13, + expr: &seqExpr{ + pos: position{line: 2366, col: 5, offset: 77327}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2366, col: 5, offset: 77327}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2366, col: 16, offset: 77338}, + expr: &ruleRefExpr{ + pos: position{line: 2366, col: 17, offset: 77339}, + name: "LongHandAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 2367, col: 5, offset: 77365}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2368, col: 9, offset: 77380}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2368, col: 9, offset: 77380}, + name: "DoubleQuoteMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2369, col: 11, offset: 77415}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2370, col: 11, offset: 77434}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2371, col: 11, offset: 77455}, + name: "MarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2372, col: 11, offset: 77476}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2373, col: 11, offset: 77500}, + name: "SuperscriptText", + }, + }, + }, }, }, }, @@ -15623,5014 +60273,48601 @@ var g = &grammar{ }, }, { - name: "Scheme", - pos: position{line: 3095, col: 1, offset: 100170}, + name: "EscapedMonospaceText", + pos: position{line: 2383, col: 1, offset: 77965}, expr: &choiceExpr{ - pos: position{line: 3095, col: 11, offset: 100180}, + pos: position{line: 2385, col: 5, offset: 78036}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3095, col: 11, offset: 100180}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", - }, - &litMatcher{ - pos: position{line: 3095, col: 23, offset: 100192}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", - }, - &litMatcher{ - pos: position{line: 3095, col: 36, offset: 100205}, - val: "ftp://", - ignoreCase: false, - want: "\"ftp://\"", - }, - &litMatcher{ - pos: position{line: 3095, col: 47, offset: 100216}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", - }, - &litMatcher{ - pos: position{line: 3095, col: 58, offset: 100227}, - val: "mailto:", - ignoreCase: false, - want: "\"mailto:\"", - }, - }, - }, - }, - { - name: "Filename", - pos: position{line: 3097, col: 1, offset: 100238}, - expr: &actionExpr{ - pos: position{line: 3098, col: 5, offset: 100255}, - run: (*parser).callonFilename1, - expr: &seqExpr{ - pos: position{line: 3098, col: 5, offset: 100255}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 3098, col: 5, offset: 100255}, - expr: &litMatcher{ - pos: position{line: 3098, col: 6, offset: 100256}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 3099, col: 5, offset: 100280}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 3099, col: 14, offset: 100289}, - expr: &choiceExpr{ - pos: position{line: 3100, col: 9, offset: 100299}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3100, col: 9, offset: 100299}, - run: (*parser).callonFilename8, - expr: &oneOrMoreExpr{ - pos: position{line: 3100, col: 9, offset: 100299}, - expr: &charClassMatcher{ - pos: position{line: 3100, col: 10, offset: 100300}, - val: "[^\\r\\n[\\]\\uFFFD{.,;?!<> ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &seqExpr{ - pos: position{line: 3103, col: 11, offset: 100565}, + &actionExpr{ + pos: position{line: 2385, col: 5, offset: 78036}, + run: (*parser).callonEscapedMonospaceText2, + expr: &seqExpr{ + pos: position{line: 2385, col: 5, offset: 78036}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2385, col: 5, offset: 78036}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1942, col: 25, offset: 63439}, + run: (*parser).callonEscapedMonospaceText5, + expr: &seqExpr{ + pos: position{line: 1942, col: 25, offset: 63439}, exprs: []interface{}{ - &ruleRefExpr{ - pos: position{line: 3103, col: 11, offset: 100565}, - name: "PunctuationCharacter", + &litMatcher{ + pos: position{line: 1942, col: 25, offset: 63439}, + val: "\\\\", + ignoreCase: false, + want: "\"\\\\\\\\\"", }, - &andExpr{ - pos: position{line: 3103, col: 32, offset: 100586}, - expr: ¬Expr{ - pos: position{line: 3103, col: 34, offset: 100588}, - expr: &choiceExpr{ - pos: position{line: 3103, col: 36, offset: 100590}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 3103, col: 36, offset: 100590}, - name: "EOF", - }, - &ruleRefExpr{ - pos: position{line: 3103, col: 42, offset: 100596}, - name: "Space", - }, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 1942, col: 30, offset: 63444}, + expr: &litMatcher{ + pos: position{line: 1942, col: 30, offset: 63444}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, }, - &ruleRefExpr{ - pos: position{line: 3104, col: 11, offset: 100614}, - name: "AttributeReference", - }, - &ruleRefExpr{ - pos: position{line: 3105, col: 11, offset: 100644}, - name: "SpecialCharacter", - }, - &actionExpr{ - pos: position{line: 3106, col: 11, offset: 100671}, - run: (*parser).callonFilename20, + }, + }, + &litMatcher{ + pos: position{line: 2385, col: 40, offset: 78071}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + &labeledExpr{ + pos: position{line: 2385, col: 45, offset: 78076}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2385, col: 55, offset: 78086}, + name: "DoubleQuoteMonospaceTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2385, col: 89, offset: 78120}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2389, col: 7, offset: 78289}, + run: (*parser).callonEscapedMonospaceText14, + expr: &seqExpr{ + pos: position{line: 2389, col: 7, offset: 78289}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2389, col: 7, offset: 78289}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedMonospaceText17, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, expr: &litMatcher{ - pos: position{line: 3106, col: 11, offset: 100671}, - val: "{", + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", ignoreCase: false, - want: "\"{\"", + want: "\"\\\\\"", }, }, }, }, + &litMatcher{ + pos: position{line: 2389, col: 42, offset: 78324}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + &labeledExpr{ + pos: position{line: 2389, col: 47, offset: 78329}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2389, col: 57, offset: 78339}, + name: "SingleQuoteMonospaceTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2389, col: 91, offset: 78373}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, }, }, }, - }, - }, - }, - { - name: "Id", - pos: position{line: 3112, col: 1, offset: 100821}, - expr: &actionExpr{ - pos: position{line: 3112, col: 7, offset: 100827}, - run: (*parser).callonId1, - expr: &oneOrMoreExpr{ - pos: position{line: 3112, col: 7, offset: 100827}, - expr: &charClassMatcher{ - pos: position{line: 3112, col: 7, offset: 100827}, - val: "[^[\\]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 2394, col: 7, offset: 78579}, + run: (*parser).callonEscapedMonospaceText24, + expr: &seqExpr{ + pos: position{line: 2394, col: 7, offset: 78579}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2394, col: 7, offset: 78579}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedMonospaceText27, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2394, col: 42, offset: 78614}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + &labeledExpr{ + pos: position{line: 2394, col: 46, offset: 78618}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2394, col: 56, offset: 78628}, + name: "SingleQuoteMonospaceTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2394, col: 90, offset: 78662}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, }, }, }, }, { - name: "Number", - pos: position{line: 3116, col: 1, offset: 100960}, + name: "MarkedText", + pos: position{line: 2401, col: 1, offset: 78914}, expr: &choiceExpr{ - pos: position{line: 3116, col: 11, offset: 100970}, + pos: position{line: 2401, col: 15, offset: 78928}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 3116, col: 11, offset: 100970}, - name: "Float", + pos: position{line: 2401, col: 15, offset: 78928}, + name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 3117, col: 7, offset: 100982}, - name: "Integer", + pos: position{line: 2401, col: 39, offset: 78952}, + name: "SingleQuoteMarkedText", }, }, }, }, { - name: "Integer", - pos: position{line: 3119, col: 1, offset: 100991}, + name: "DoubleQuoteMarkedText", + pos: position{line: 2415, col: 1, offset: 79290}, expr: &actionExpr{ - pos: position{line: 3119, col: 12, offset: 101002}, - run: (*parser).callonInteger1, + pos: position{line: 2416, col: 5, offset: 79320}, + run: (*parser).callonDoubleQuoteMarkedText1, expr: &seqExpr{ - pos: position{line: 3119, col: 13, offset: 101003}, + pos: position{line: 2416, col: 5, offset: 79320}, exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 3119, col: 13, offset: 101003}, - expr: &litMatcher{ - pos: position{line: 3119, col: 13, offset: 101003}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, + &litMatcher{ + pos: position{line: 2413, col: 35, offset: 79284}, + val: "##", + ignoreCase: false, + want: "\"##\"", }, - &oneOrMoreExpr{ - pos: position{line: 3119, col: 18, offset: 101008}, - expr: &charClassMatcher{ - pos: position{line: 3119, col: 18, offset: 101008}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - { - name: "Float", - pos: position{line: 3123, col: 1, offset: 101069}, - expr: &actionExpr{ - pos: position{line: 3123, col: 10, offset: 101078}, - run: (*parser).callonFloat1, - expr: &seqExpr{ - pos: position{line: 3123, col: 11, offset: 101079}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 3123, col: 11, offset: 101079}, - expr: &litMatcher{ - pos: position{line: 3123, col: 11, offset: 101079}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - &oneOrMoreExpr{ - pos: position{line: 3123, col: 16, offset: 101084}, - expr: &charClassMatcher{ - pos: position{line: 3123, col: 16, offset: 101084}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 2417, col: 5, offset: 79356}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2417, col: 15, offset: 79366}, + name: "DoubleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 3123, col: 23, offset: 101091}, - val: ".", + pos: position{line: 2413, col: 35, offset: 79284}, + val: "##", ignoreCase: false, - want: "\".\"", - }, - &oneOrMoreExpr{ - pos: position{line: 3123, col: 27, offset: 101095}, - expr: &charClassMatcher{ - pos: position{line: 3123, col: 27, offset: 101095}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, + want: "\"##\"", }, }, }, }, }, { - name: "Space", - pos: position{line: 3127, col: 1, offset: 101166}, - expr: &actionExpr{ - pos: position{line: 3127, col: 10, offset: 101175}, - run: (*parser).callonSpace1, - expr: &choiceExpr{ - pos: position{line: 3127, col: 11, offset: 101176}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3127, col: 11, offset: 101176}, - val: " ", - ignoreCase: false, - want: "\" \"", - }, - &litMatcher{ - pos: position{line: 3127, col: 17, offset: 101182}, - val: "\t", - ignoreCase: false, - want: "\"\\t\"", - }, - }, + name: "DoubleQuoteMarkedTextElements", + pos: position{line: 2422, col: 1, offset: 79529}, + expr: &zeroOrMoreExpr{ + pos: position{line: 2422, col: 34, offset: 79562}, + expr: &ruleRefExpr{ + pos: position{line: 2422, col: 34, offset: 79562}, + name: "DoubleQuoteMarkedTextElement", }, }, }, { - name: "Spaces", - pos: position{line: 3131, col: 1, offset: 101232}, + name: "DoubleQuoteMarkedTextElement", + pos: position{line: 2424, col: 1, offset: 79593}, expr: &actionExpr{ - pos: position{line: 3131, col: 11, offset: 101242}, - run: (*parser).callonSpaces1, - expr: &oneOrMoreExpr{ - pos: position{line: 3131, col: 11, offset: 101242}, - expr: &choiceExpr{ - pos: position{line: 3131, col: 12, offset: 101243}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3131, col: 12, offset: 101243}, - val: " ", - ignoreCase: false, - want: "\" \"", - }, - &litMatcher{ - pos: position{line: 3131, col: 18, offset: 101249}, - val: "\t", + pos: position{line: 2425, col: 5, offset: 79662}, + run: (*parser).callonDoubleQuoteMarkedTextElement1, + expr: &seqExpr{ + pos: position{line: 2425, col: 5, offset: 79662}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2425, col: 5, offset: 79662}, + expr: &litMatcher{ + pos: position{line: 2413, col: 35, offset: 79284}, + val: "##", ignoreCase: false, - want: "\"\\t\"", + want: "\"##\"", }, }, - }, - }, - }, - }, - { - name: "Newline", - pos: position{line: 3136, col: 1, offset: 101348}, - expr: &actionExpr{ - pos: position{line: 3136, col: 12, offset: 101359}, - run: (*parser).callonNewline1, - expr: &choiceExpr{ - pos: position{line: 3136, col: 13, offset: 101360}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3136, col: 13, offset: 101360}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3136, col: 20, offset: 101367}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3136, col: 29, offset: 101376}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - { - name: "EOF", - pos: position{line: 3140, col: 1, offset: 101442}, - expr: ¬Expr{ - pos: position{line: 3140, col: 8, offset: 101449}, - expr: &anyMatcher{ - line: 3140, col: 9, offset: 101450, - }, - }, - }, - { - name: "EOL", - pos: position{line: 3143, col: 1, offset: 101492}, - expr: &choiceExpr{ - pos: position{line: 3143, col: 8, offset: 101499}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 3143, col: 8, offset: 101499}, - name: "Newline", - }, - &ruleRefExpr{ - pos: position{line: 3143, col: 18, offset: 101509}, - name: "EOF", - }, - }, - }, - }, - }, + &labeledExpr{ + pos: position{line: 2426, col: 5, offset: 79698}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2427, col: 9, offset: 79716}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2406, col: 5, offset: 79026}, + run: (*parser).callonDoubleQuoteMarkedTextElement7, + expr: &seqExpr{ + pos: position{line: 2406, col: 5, offset: 79026}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2406, col: 5, offset: 79026}, + expr: &charClassMatcher{ + pos: position{line: 2406, col: 5, offset: 79026}, + val: "[,?!;0-9\\pL]", + chars: []rune{',', '?', '!', ';'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2406, col: 19, offset: 79040}, + expr: &choiceExpr{ + pos: position{line: 2406, col: 21, offset: 79042}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteMarkedTextElement13, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 2403, col: 24, offset: 78998}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonDoubleQuoteMarkedTextElement16, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2429, col: 11, offset: 79791}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMarkedTextElement20, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2429, col: 19, offset: 79799}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMarkedTextElement26, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuoteMarkedTextElement31, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonDoubleQuoteMarkedTextElement33, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonDoubleQuoteMarkedTextElement36, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMarkedTextElement40, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuoteMarkedTextElement47, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuoteMarkedTextElement52, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuoteMarkedTextElement54, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonDoubleQuoteMarkedTextElement58, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMarkedTextElement62, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonDoubleQuoteMarkedTextElement69, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonDoubleQuoteMarkedTextElement74, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonDoubleQuoteMarkedTextElement76, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuoteMarkedTextElement80, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMarkedTextElement84, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuoteMarkedTextElement90, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMarkedTextElement94, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2431, col: 11, offset: 79881}, + name: "InlineMacro", + }, + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonDoubleQuoteMarkedTextElement101, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuoteMarkedTextElement105, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuoteMarkedTextElement107, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuoteMarkedTextElement109, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuoteMarkedTextElement111, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteMarkedTextElement113, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonDoubleQuoteMarkedTextElement115, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonDoubleQuoteMarkedTextElement117, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonDoubleQuoteMarkedTextElement119, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonDoubleQuoteMarkedTextElement121, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteMarkedTextElement123, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteMarkedTextElement125, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteMarkedTextElement128, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMarkedTextElement132, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteMarkedTextElement139, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteMarkedTextElement141, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMarkedTextElement146, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonDoubleQuoteMarkedTextElement153, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonDoubleQuoteMarkedTextElement155, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonDoubleQuoteMarkedTextElement157, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonDoubleQuoteMarkedTextElement159, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonDoubleQuoteMarkedTextElement161, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonDoubleQuoteMarkedTextElement163, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonDoubleQuoteMarkedTextElement165, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonDoubleQuoteMarkedTextElement167, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonDoubleQuoteMarkedTextElement169, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonDoubleQuoteMarkedTextElement171, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonDoubleQuoteMarkedTextElement173, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteMarkedTextElement175, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonDoubleQuoteMarkedTextElement177, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteMarkedTextElement180, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMarkedTextElement184, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteMarkedTextElement191, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonDoubleQuoteMarkedTextElement193, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonDoubleQuoteMarkedTextElement198, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonDoubleQuoteMarkedTextElement205, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonDoubleQuoteMarkedTextElement207, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonDoubleQuoteMarkedTextElement209, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonDoubleQuoteMarkedTextElement211, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonDoubleQuoteMarkedTextElement213, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonDoubleQuoteMarkedTextElement219, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonDoubleQuoteMarkedTextElement225, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonDoubleQuoteMarkedTextElement227, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonDoubleQuoteMarkedTextElement230, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonDoubleQuoteMarkedTextElement232, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonDoubleQuoteMarkedTextElement236, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonDoubleQuoteMarkedTextElement240, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonDoubleQuoteMarkedTextElement246, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonDoubleQuoteMarkedTextElement251, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMarkedTextElement255, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonDoubleQuoteMarkedTextElement261, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonDoubleQuoteMarkedTextElement265, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonDoubleQuoteMarkedTextElement271, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonDoubleQuoteMarkedTextElement274, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonDoubleQuoteMarkedTextElement278, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonDoubleQuoteMarkedTextElement282, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2434, col: 11, offset: 79997}, + name: "QuotedTextInDoubleMarkedBoldText", + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonDoubleQuoteMarkedTextElement285, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonDoubleQuoteMarkedTextElement289, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &charClassMatcher{ + pos: position{line: 2467, col: 5, offset: 80781}, + val: "[^\\r\\n#]", + chars: []rune{'\r', '\n', '#'}, + ignoreCase: false, + inverted: true, + }, + &actionExpr{ + pos: position{line: 2468, col: 7, offset: 80880}, + run: (*parser).callonDoubleQuoteMarkedTextElement294, + expr: &seqExpr{ + pos: position{line: 2468, col: 7, offset: 80880}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2413, col: 35, offset: 79284}, + val: "##", + ignoreCase: false, + want: "\"##\"", + }, + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonDoubleQuoteMarkedTextElement297, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "QuotedTextInDoubleMarkedBoldText", + pos: position{line: 2441, col: 1, offset: 80151}, + expr: &choiceExpr{ + pos: position{line: 2443, col: 5, offset: 80214}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2443, col: 5, offset: 80214}, + run: (*parser).callonQuotedTextInDoubleMarkedBoldText2, + expr: &seqExpr{ + pos: position{line: 2443, col: 5, offset: 80214}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2443, col: 5, offset: 80214}, + expr: &litMatcher{ + pos: position{line: 2443, col: 7, offset: 80216}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2444, col: 5, offset: 80225}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2445, col: 9, offset: 80243}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2445, col: 9, offset: 80243}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2446, col: 11, offset: 80270}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2447, col: 11, offset: 80298}, + name: "EscapedMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2448, col: 11, offset: 80329}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2449, col: 11, offset: 80360}, + name: "EscapedSuperscriptText", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2455, col: 5, offset: 80460}, + run: (*parser).callonQuotedTextInDoubleMarkedBoldText13, + expr: &seqExpr{ + pos: position{line: 2455, col: 5, offset: 80460}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2455, col: 5, offset: 80460}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2455, col: 16, offset: 80471}, + expr: &ruleRefExpr{ + pos: position{line: 2455, col: 17, offset: 80472}, + name: "LongHandAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 2456, col: 5, offset: 80498}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2457, col: 9, offset: 80513}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2457, col: 9, offset: 80513}, + name: "SingleQuoteMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2458, col: 11, offset: 80545}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2459, col: 11, offset: 80564}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2460, col: 11, offset: 80585}, + name: "MonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2461, col: 11, offset: 80609}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2462, col: 11, offset: 80633}, + name: "SuperscriptText", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "SingleQuoteMarkedText", + pos: position{line: 2479, col: 1, offset: 81287}, + expr: &actionExpr{ + pos: position{line: 2480, col: 5, offset: 81317}, + run: (*parser).callonSingleQuoteMarkedText1, + expr: &seqExpr{ + pos: position{line: 2480, col: 5, offset: 81317}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2475, col: 40, offset: 81239}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + &labeledExpr{ + pos: position{line: 2481, col: 5, offset: 81357}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2481, col: 15, offset: 81367}, + name: "SingleQuoteMarkedTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2477, col: 38, offset: 81281}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + }, + }, + }, + }, + { + name: "SingleQuoteMarkedTextElements", + pos: position{line: 2486, col: 1, offset: 81534}, + expr: &actionExpr{ + pos: position{line: 2487, col: 5, offset: 81572}, + run: (*parser).callonSingleQuoteMarkedTextElements1, + expr: &seqExpr{ + pos: position{line: 2487, col: 5, offset: 81572}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2487, col: 5, offset: 81572}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + ¬Expr{ + pos: position{line: 2487, col: 10, offset: 81577}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMarkedTextElements7, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2488, col: 5, offset: 81616}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2488, col: 14, offset: 81625}, + expr: &ruleRefExpr{ + pos: position{line: 2488, col: 15, offset: 81626}, + name: "SingleQuoteMarkedTextElement", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2489, col: 5, offset: 81662}, + run: (*parser).callonSingleQuoteMarkedTextElements12, + }, + }, + }, + }, + }, + { + name: "SingleQuoteMarkedTextElement", + pos: position{line: 2495, col: 1, offset: 81803}, + expr: &choiceExpr{ + pos: position{line: 2496, col: 5, offset: 81840}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2406, col: 5, offset: 79026}, + run: (*parser).callonSingleQuoteMarkedTextElement2, + expr: &seqExpr{ + pos: position{line: 2406, col: 5, offset: 79026}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2406, col: 5, offset: 79026}, + expr: &charClassMatcher{ + pos: position{line: 2406, col: 5, offset: 79026}, + val: "[,?!;0-9\\pL]", + chars: []rune{',', '?', '!', ';'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2406, col: 19, offset: 79040}, + expr: &choiceExpr{ + pos: position{line: 2406, col: 21, offset: 79042}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMarkedTextElement8, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 2403, col: 24, offset: 78998}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonSingleQuoteMarkedTextElement11, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2498, col: 7, offset: 81874}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMarkedTextElement15, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2498, col: 15, offset: 81882}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMarkedTextElement21, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuoteMarkedTextElement26, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSingleQuoteMarkedTextElement28, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonSingleQuoteMarkedTextElement31, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMarkedTextElement35, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuoteMarkedTextElement42, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuoteMarkedTextElement47, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuoteMarkedTextElement49, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonSingleQuoteMarkedTextElement53, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMarkedTextElement57, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSingleQuoteMarkedTextElement64, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSingleQuoteMarkedTextElement69, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSingleQuoteMarkedTextElement71, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuoteMarkedTextElement75, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMarkedTextElement79, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuoteMarkedTextElement85, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMarkedTextElement89, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2500, col: 7, offset: 81956}, + name: "InlineMacro", + }, + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonSingleQuoteMarkedTextElement96, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuoteMarkedTextElement100, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuoteMarkedTextElement102, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuoteMarkedTextElement104, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuoteMarkedTextElement106, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteMarkedTextElement108, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSingleQuoteMarkedTextElement110, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSingleQuoteMarkedTextElement112, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSingleQuoteMarkedTextElement114, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSingleQuoteMarkedTextElement116, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteMarkedTextElement118, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteMarkedTextElement120, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMarkedTextElement123, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMarkedTextElement127, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteMarkedTextElement134, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteMarkedTextElement136, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMarkedTextElement141, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSingleQuoteMarkedTextElement148, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSingleQuoteMarkedTextElement150, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSingleQuoteMarkedTextElement152, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSingleQuoteMarkedTextElement154, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSingleQuoteMarkedTextElement156, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSingleQuoteMarkedTextElement158, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSingleQuoteMarkedTextElement160, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSingleQuoteMarkedTextElement162, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSingleQuoteMarkedTextElement164, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSingleQuoteMarkedTextElement166, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSingleQuoteMarkedTextElement168, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteMarkedTextElement170, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSingleQuoteMarkedTextElement172, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMarkedTextElement175, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMarkedTextElement179, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteMarkedTextElement186, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSingleQuoteMarkedTextElement188, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSingleQuoteMarkedTextElement193, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSingleQuoteMarkedTextElement200, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSingleQuoteMarkedTextElement202, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSingleQuoteMarkedTextElement204, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSingleQuoteMarkedTextElement206, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonSingleQuoteMarkedTextElement208, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonSingleQuoteMarkedTextElement214, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSingleQuoteMarkedTextElement220, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSingleQuoteMarkedTextElement222, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonSingleQuoteMarkedTextElement225, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonSingleQuoteMarkedTextElement227, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSingleQuoteMarkedTextElement231, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSingleQuoteMarkedTextElement235, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonSingleQuoteMarkedTextElement241, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSingleQuoteMarkedTextElement246, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMarkedTextElement250, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSingleQuoteMarkedTextElement256, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSingleQuoteMarkedTextElement260, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonSingleQuoteMarkedTextElement266, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonSingleQuoteMarkedTextElement269, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSingleQuoteMarkedTextElement273, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonSingleQuoteMarkedTextElement277, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2503, col: 7, offset: 82060}, + name: "QuotedTextInSingleQuoteMarkedText", + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonSingleQuoteMarkedTextElement280, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonSingleQuoteMarkedTextElement284, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &charClassMatcher{ + pos: position{line: 2533, col: 5, offset: 82796}, + val: "[^\\r\\n #]", + chars: []rune{'\r', '\n', ' ', '#'}, + ignoreCase: false, + inverted: true, + }, + &actionExpr{ + pos: position{line: 2534, col: 7, offset: 82901}, + run: (*parser).callonSingleQuoteMarkedTextElement289, + expr: &seqExpr{ + pos: position{line: 2534, col: 7, offset: 82901}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2534, col: 7, offset: 82901}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + &actionExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + run: (*parser).callonSingleQuoteMarkedTextElement292, + expr: &oneOrMoreExpr{ + pos: position{line: 3037, col: 14, offset: 98200}, + expr: &charClassMatcher{ + pos: position{line: 3037, col: 14, offset: 98200}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "QuotedTextInSingleQuoteMarkedText", + pos: position{line: 2507, col: 1, offset: 82165}, + expr: &choiceExpr{ + pos: position{line: 2509, col: 5, offset: 82229}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2509, col: 5, offset: 82229}, + run: (*parser).callonQuotedTextInSingleQuoteMarkedText2, + expr: &seqExpr{ + pos: position{line: 2509, col: 5, offset: 82229}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2509, col: 5, offset: 82229}, + expr: &litMatcher{ + pos: position{line: 2509, col: 7, offset: 82231}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2510, col: 5, offset: 82240}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2511, col: 9, offset: 82258}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2511, col: 9, offset: 82258}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2512, col: 11, offset: 82285}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2513, col: 11, offset: 82313}, + name: "EscapedMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2514, col: 11, offset: 82344}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2515, col: 11, offset: 82375}, + name: "EscapedSuperscriptText", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2521, col: 5, offset: 82475}, + run: (*parser).callonQuotedTextInSingleQuoteMarkedText13, + expr: &seqExpr{ + pos: position{line: 2521, col: 5, offset: 82475}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2521, col: 5, offset: 82475}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2521, col: 16, offset: 82486}, + expr: &ruleRefExpr{ + pos: position{line: 2521, col: 17, offset: 82487}, + name: "LongHandAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 2522, col: 5, offset: 82513}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2523, col: 9, offset: 82528}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2523, col: 9, offset: 82528}, + name: "DoubleQuoteMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2524, col: 11, offset: 82560}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2525, col: 11, offset: 82579}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2526, col: 11, offset: 82600}, + name: "MonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2527, col: 11, offset: 82624}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2528, col: 11, offset: 82648}, + name: "SuperscriptText", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "EscapedMarkedText", + pos: position{line: 2538, col: 1, offset: 83076}, + expr: &choiceExpr{ + pos: position{line: 2540, col: 5, offset: 83140}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2540, col: 5, offset: 83140}, + run: (*parser).callonEscapedMarkedText2, + expr: &seqExpr{ + pos: position{line: 2540, col: 5, offset: 83140}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2540, col: 5, offset: 83140}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1942, col: 25, offset: 63439}, + run: (*parser).callonEscapedMarkedText5, + expr: &seqExpr{ + pos: position{line: 1942, col: 25, offset: 63439}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1942, col: 25, offset: 63439}, + val: "\\\\", + ignoreCase: false, + want: "\"\\\\\\\\\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1942, col: 30, offset: 63444}, + expr: &litMatcher{ + pos: position{line: 1942, col: 30, offset: 63444}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2540, col: 40, offset: 83175}, + val: "##", + ignoreCase: false, + want: "\"##\"", + }, + &labeledExpr{ + pos: position{line: 2540, col: 45, offset: 83180}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2540, col: 55, offset: 83190}, + name: "DoubleQuoteMarkedTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2540, col: 86, offset: 83221}, + val: "##", + ignoreCase: false, + want: "\"##\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2544, col: 7, offset: 83386}, + run: (*parser).callonEscapedMarkedText14, + expr: &seqExpr{ + pos: position{line: 2544, col: 7, offset: 83386}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2544, col: 7, offset: 83386}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedMarkedText17, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2544, col: 42, offset: 83421}, + val: "##", + ignoreCase: false, + want: "\"##\"", + }, + &labeledExpr{ + pos: position{line: 2544, col: 47, offset: 83426}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2544, col: 57, offset: 83436}, + name: "SingleQuoteMarkedTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2544, col: 88, offset: 83467}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2549, col: 7, offset: 83670}, + run: (*parser).callonEscapedMarkedText24, + expr: &seqExpr{ + pos: position{line: 2549, col: 7, offset: 83670}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2549, col: 7, offset: 83670}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedMarkedText27, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2549, col: 42, offset: 83705}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + &labeledExpr{ + pos: position{line: 2549, col: 46, offset: 83709}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2549, col: 56, offset: 83719}, + name: "SingleQuoteMarkedTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2549, col: 87, offset: 83750}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + }, + }, + }, + }, + }, + }, + { + name: "SubscriptText", + pos: position{line: 2556, col: 1, offset: 84017}, + expr: &actionExpr{ + pos: position{line: 2557, col: 5, offset: 84039}, + run: (*parser).callonSubscriptText1, + expr: &seqExpr{ + pos: position{line: 2557, col: 5, offset: 84039}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2563, col: 27, offset: 84254}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + &labeledExpr{ + pos: position{line: 2558, col: 5, offset: 84066}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2558, col: 14, offset: 84075}, + name: "SubscriptTextElement", + }, + }, + &litMatcher{ + pos: position{line: 2563, col: 27, offset: 84254}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + }, + }, + }, + }, + { + name: "SubscriptTextElement", + pos: position{line: 2565, col: 1, offset: 84259}, + expr: &choiceExpr{ + pos: position{line: 2565, col: 25, offset: 84283}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2565, col: 25, offset: 84283}, + name: "QuotedText", + }, + &actionExpr{ + pos: position{line: 2567, col: 21, offset: 84335}, + run: (*parser).callonSubscriptTextElement3, + expr: &oneOrMoreExpr{ + pos: position{line: 2567, col: 21, offset: 84335}, + expr: &charClassMatcher{ + pos: position{line: 2567, col: 21, offset: 84335}, + val: "[^\\r\\n ~]", + chars: []rune{'\r', '\n', ' ', '~'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + { + name: "EscapedSubscriptText", + pos: position{line: 2571, col: 1, offset: 84420}, + expr: &actionExpr{ + pos: position{line: 2573, col: 5, offset: 84487}, + run: (*parser).callonEscapedSubscriptText1, + expr: &seqExpr{ + pos: position{line: 2573, col: 5, offset: 84487}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2573, col: 5, offset: 84487}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedSubscriptText4, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2563, col: 27, offset: 84254}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + &labeledExpr{ + pos: position{line: 2575, col: 5, offset: 84555}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2575, col: 14, offset: 84564}, + name: "SubscriptTextElement", + }, + }, + &litMatcher{ + pos: position{line: 2563, col: 27, offset: 84254}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + }, + }, + }, + }, + { + name: "SuperscriptText", + pos: position{line: 2583, col: 1, offset: 84827}, + expr: &actionExpr{ + pos: position{line: 2584, col: 5, offset: 84851}, + run: (*parser).callonSuperscriptText1, + expr: &seqExpr{ + pos: position{line: 2584, col: 5, offset: 84851}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2590, col: 29, offset: 85078}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + &labeledExpr{ + pos: position{line: 2585, col: 5, offset: 84881}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2585, col: 14, offset: 84890}, + name: "SuperscriptTextElement", + }, + }, + &litMatcher{ + pos: position{line: 2590, col: 29, offset: 85078}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + }, + }, + }, + }, + { + name: "SuperscriptTextElement", + pos: position{line: 2592, col: 1, offset: 85083}, + expr: &choiceExpr{ + pos: position{line: 2592, col: 27, offset: 85109}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2592, col: 27, offset: 85109}, + name: "QuotedText", + }, + &actionExpr{ + pos: position{line: 2594, col: 23, offset: 85165}, + run: (*parser).callonSuperscriptTextElement3, + expr: &oneOrMoreExpr{ + pos: position{line: 2594, col: 23, offset: 85165}, + expr: &charClassMatcher{ + pos: position{line: 2594, col: 23, offset: 85165}, + val: "[^\\r\\n ^]", + chars: []rune{'\r', '\n', ' ', '^'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + { + name: "EscapedSuperscriptText", + pos: position{line: 2598, col: 1, offset: 85250}, + expr: &actionExpr{ + pos: position{line: 2600, col: 5, offset: 85322}, + run: (*parser).callonEscapedSuperscriptText1, + expr: &seqExpr{ + pos: position{line: 2600, col: 5, offset: 85322}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2600, col: 5, offset: 85322}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + run: (*parser).callonEscapedSuperscriptText4, + expr: &oneOrMoreExpr{ + pos: position{line: 1938, col: 25, offset: 63366}, + expr: &litMatcher{ + pos: position{line: 1938, col: 25, offset: 63366}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2590, col: 29, offset: 85078}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + &labeledExpr{ + pos: position{line: 2602, col: 5, offset: 85392}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2602, col: 14, offset: 85401}, + name: "SuperscriptTextElement", + }, + }, + &litMatcher{ + pos: position{line: 2590, col: 29, offset: 85078}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + }, + }, + }, + }, + { + name: "Substitutions", + pos: position{line: 2637, col: 1, offset: 86720}, + expr: &actionExpr{ + pos: position{line: 2638, col: 5, offset: 86774}, + run: (*parser).callonSubstitutions1, + expr: &seqExpr{ + pos: position{line: 2638, col: 5, offset: 86774}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2638, col: 5, offset: 86774}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2638, col: 14, offset: 86783}, + expr: &actionExpr{ + pos: position{line: 2639, col: 9, offset: 86793}, + run: (*parser).callonSubstitutions5, + expr: &seqExpr{ + pos: position{line: 2639, col: 9, offset: 86793}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2639, col: 9, offset: 86793}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2640, col: 9, offset: 86806}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2641, col: 13, offset: 86828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + run: (*parser).callonSubstitutions12, + expr: &seqExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3052, col: 5, offset: 98799}, + expr: &charClassMatcher{ + pos: position{line: 3052, col: 5, offset: 98799}, + val: "[,;!?0-9\\pL]", + chars: []rune{',', ';', '!', '?'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &choiceExpr{ + pos: position{line: 3053, col: 6, offset: 98849}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSubstitutions17, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3053, col: 14, offset: 98857}, + expr: &choiceExpr{ + pos: position{line: 3053, col: 16, offset: 98859}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3053, col: 16, offset: 98859}, + val: "[.�]", + chars: []rune{'.', '�'}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSubstitutions22, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSubstitutions29, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSubstitutions31, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonSubstitutions36, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonSubstitutions40, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1226, col: 5, offset: 38392}, + run: (*parser).callonSubstitutions44, + expr: &seqExpr{ + pos: position{line: 1226, col: 5, offset: 38392}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1226, col: 5, offset: 38392}, + run: (*parser).callonSubstitutions46, + }, + &litMatcher{ + pos: position{line: 1229, col: 5, offset: 38494}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1229, col: 9, offset: 38498}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSubstitutions49, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1229, col: 16, offset: 38505}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSubstitutions53, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3058, col: 16, offset: 99033}, + run: (*parser).callonSubstitutions60, + expr: &seqExpr{ + pos: position{line: 3058, col: 16, offset: 99033}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3058, col: 16, offset: 99033}, + label: "char", + expr: &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonSubstitutions63, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 3058, col: 44, offset: 99061}, + expr: &choiceExpr{ + pos: position{line: 3058, col: 46, offset: 99063}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSubstitutions67, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSubstitutions69, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2647, col: 15, offset: 87067}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2648, col: 15, offset: 87087}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2649, col: 15, offset: 87119}, + name: "InlineMacro", + }, + &ruleRefExpr{ + pos: position{line: 2650, col: 15, offset: 87208}, + name: "Callout", + }, + &actionExpr{ + pos: position{line: 2746, col: 5, offset: 89789}, + run: (*parser).callonSubstitutions80, + expr: &seqExpr{ + pos: position{line: 2746, col: 5, offset: 89789}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2746, col: 5, offset: 89789}, + run: (*parser).callonSubstitutions82, + }, + &labeledExpr{ + pos: position{line: 2749, col: 5, offset: 89860}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonSubstitutions85, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSubstitutions89, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSubstitutions91, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSubstitutions93, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSubstitutions95, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSubstitutions97, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSubstitutions99, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSubstitutions101, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSubstitutions103, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSubstitutions105, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSubstitutions107, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSubstitutions109, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSubstitutions112, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSubstitutions116, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSubstitutions123, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSubstitutions125, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSubstitutions130, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSubstitutions137, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSubstitutions139, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSubstitutions141, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonSubstitutions143, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonSubstitutions145, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonSubstitutions147, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonSubstitutions149, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonSubstitutions151, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonSubstitutions153, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonSubstitutions155, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonSubstitutions157, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSubstitutions159, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonSubstitutions161, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSubstitutions164, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSubstitutions168, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSubstitutions175, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonSubstitutions177, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonSubstitutions182, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonSubstitutions189, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonSubstitutions191, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonSubstitutions193, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonSubstitutions195, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonSubstitutions197, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonSubstitutions203, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSubstitutions209, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonSubstitutions211, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonSubstitutions214, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonSubstitutions216, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSubstitutions220, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonSubstitutions224, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonSubstitutions230, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSubstitutions235, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSubstitutions239, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSubstitutions245, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSubstitutions249, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonSubstitutions255, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonSubstitutions258, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonSubstitutions262, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonSubstitutions266, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSubstitutions268, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonSubstitutions270, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonSubstitutions273, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSubstitutions277, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSubstitutions284, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSubstitutions289, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSubstitutions291, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonSubstitutions295, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSubstitutions299, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonSubstitutions306, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonSubstitutions311, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonSubstitutions313, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonSubstitutions317, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSubstitutions321, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonSubstitutions327, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonSubstitutions331, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3071, col: 12, offset: 99495}, + run: (*parser).callonSubstitutions337, + expr: &anyMatcher{ + line: 3071, col: 12, offset: 99495, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + { + name: "AttributeStructuredValue", + pos: position{line: 2663, col: 1, offset: 87690}, + expr: &actionExpr{ + pos: position{line: 2664, col: 5, offset: 87723}, + run: (*parser).callonAttributeStructuredValue1, + expr: &seqExpr{ + pos: position{line: 2664, col: 5, offset: 87723}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2664, col: 5, offset: 87723}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2664, col: 14, offset: 87732}, + expr: &choiceExpr{ + pos: position{line: 2665, col: 9, offset: 87742}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2665, col: 9, offset: 87742}, + name: "InlineMacro", + }, + &ruleRefExpr{ + pos: position{line: 2666, col: 11, offset: 87764}, + name: "Quote", + }, + &actionExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + run: (*parser).callonAttributeStructuredValue8, + expr: &seqExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + expr: &charClassMatcher{ + pos: position{line: 3045, col: 5, offset: 98581}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3045, col: 15, offset: 98591}, + expr: &choiceExpr{ + pos: position{line: 3045, col: 17, offset: 98593}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3045, col: 17, offset: 98593}, + val: "[\\r\\n ,]]", + chars: []rune{'\r', '\n', ' ', ',', ']'}, + ignoreCase: false, + inverted: false, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + run: (*parser).callonAttributeStructuredValue17, + expr: &seqExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + expr: &charClassMatcher{ + pos: position{line: 3047, col: 9, offset: 98675}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3047, col: 19, offset: 98685}, + expr: &seqExpr{ + pos: position{line: 3047, col: 20, offset: 98686}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3047, col: 20, offset: 98686}, + val: "[=*_`]", + chars: []rune{'=', '*', '_', '`'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 3047, col: 27, offset: 98693}, + expr: &charClassMatcher{ + pos: position{line: 3047, col: 27, offset: 98693}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonAttributeStructuredValue26, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonAttributeStructuredValue28, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonAttributeStructuredValue30, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonAttributeStructuredValue33, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonAttributeStructuredValue35, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonAttributeStructuredValue39, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonAttributeStructuredValue43, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonAttributeStructuredValue49, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonAttributeStructuredValue54, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonAttributeStructuredValue58, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonAttributeStructuredValue64, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonAttributeStructuredValue68, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonAttributeStructuredValue74, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonAttributeStructuredValue77, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonAttributeStructuredValue81, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonAttributeStructuredValue85, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonAttributeStructuredValue87, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonAttributeStructuredValue91, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonAttributeStructuredValue93, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonAttributeStructuredValue95, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonAttributeStructuredValue97, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonAttributeStructuredValue99, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonAttributeStructuredValue101, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonAttributeStructuredValue103, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonAttributeStructuredValue105, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonAttributeStructuredValue107, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonAttributeStructuredValue109, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonAttributeStructuredValue111, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonAttributeStructuredValue114, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonAttributeStructuredValue118, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonAttributeStructuredValue125, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonAttributeStructuredValue127, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonAttributeStructuredValue132, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonAttributeStructuredValue139, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonAttributeStructuredValue141, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonAttributeStructuredValue143, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonAttributeStructuredValue145, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonAttributeStructuredValue147, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonAttributeStructuredValue149, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonAttributeStructuredValue151, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonAttributeStructuredValue153, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonAttributeStructuredValue155, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonAttributeStructuredValue157, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonAttributeStructuredValue159, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonAttributeStructuredValue161, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonAttributeStructuredValue163, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonAttributeStructuredValue166, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonAttributeStructuredValue170, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonAttributeStructuredValue177, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonAttributeStructuredValue179, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonAttributeStructuredValue184, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonAttributeStructuredValue191, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonAttributeStructuredValue193, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonAttributeStructuredValue195, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonAttributeStructuredValue197, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonAttributeStructuredValue199, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonAttributeStructuredValue205, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonAttributeStructuredValue211, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonAttributeStructuredValue215, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3071, col: 12, offset: 99495}, + run: (*parser).callonAttributeStructuredValue219, + expr: &anyMatcher{ + line: 3071, col: 12, offset: 99495, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + { + name: "HeaderGroup", + pos: position{line: 2679, col: 1, offset: 88007}, + expr: &actionExpr{ + pos: position{line: 2680, col: 5, offset: 88027}, + run: (*parser).callonHeaderGroup1, + expr: &seqExpr{ + pos: position{line: 2680, col: 5, offset: 88027}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2680, col: 5, offset: 88027}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2680, col: 14, offset: 88036}, + expr: &ruleRefExpr{ + pos: position{line: 2680, col: 15, offset: 88037}, + name: "HeaderGroupElement", + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + { + name: "HeaderGroupElement", + pos: position{line: 2684, col: 1, offset: 88121}, + expr: &actionExpr{ + pos: position{line: 2685, col: 5, offset: 88147}, + run: (*parser).callonHeaderGroupElement1, + expr: &seqExpr{ + pos: position{line: 2685, col: 5, offset: 88147}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2685, col: 5, offset: 88147}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2686, col: 5, offset: 88156}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2687, col: 9, offset: 88174}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + run: (*parser).callonHeaderGroupElement8, + expr: &seqExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3045, col: 5, offset: 98581}, + expr: &charClassMatcher{ + pos: position{line: 3045, col: 5, offset: 98581}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3045, col: 15, offset: 98591}, + expr: &choiceExpr{ + pos: position{line: 3045, col: 17, offset: 98593}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3045, col: 17, offset: 98593}, + val: "[\\r\\n ,]]", + chars: []rune{'\r', '\n', ' ', ',', ']'}, + ignoreCase: false, + inverted: false, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + run: (*parser).callonHeaderGroupElement17, + expr: &seqExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3047, col: 9, offset: 98675}, + expr: &charClassMatcher{ + pos: position{line: 3047, col: 9, offset: 98675}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3047, col: 19, offset: 98685}, + expr: &seqExpr{ + pos: position{line: 3047, col: 20, offset: 98686}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3047, col: 20, offset: 98686}, + val: "[=*_`]", + chars: []rune{'=', '*', '_', '`'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 3047, col: 27, offset: 98693}, + expr: &charClassMatcher{ + pos: position{line: 3047, col: 27, offset: 98693}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2688, col: 12, offset: 88190}, + run: (*parser).callonHeaderGroupElement26, + expr: &seqExpr{ + pos: position{line: 2688, col: 12, offset: 88190}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2688, col: 12, offset: 88190}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonHeaderGroupElement29, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2688, col: 19, offset: 88197}, + label: "id", + expr: &actionExpr{ + pos: position{line: 408, col: 5, offset: 12598}, + run: (*parser).callonHeaderGroupElement32, + expr: &seqExpr{ + pos: position{line: 408, col: 5, offset: 12598}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 408, col: 5, offset: 12598}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 409, col: 5, offset: 12608}, + label: "id", + expr: &actionExpr{ + pos: position{line: 410, col: 9, offset: 12621}, + run: (*parser).callonHeaderGroupElement36, + expr: &labeledExpr{ + pos: position{line: 410, col: 9, offset: 12621}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 410, col: 18, offset: 12630}, + expr: &choiceExpr{ + pos: position{line: 411, col: 13, offset: 12644}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 411, col: 14, offset: 12645}, + run: (*parser).callonHeaderGroupElement40, + expr: &oneOrMoreExpr{ + pos: position{line: 411, col: 14, offset: 12645}, + expr: &charClassMatcher{ + pos: position{line: 411, col: 14, offset: 12645}, + val: "[^=\\r\\n�{]]", + chars: []rune{'=', '\r', '\n', '�', '{', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonHeaderGroupElement43, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonHeaderGroupElement47, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonHeaderGroupElement51, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonHeaderGroupElement53, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonHeaderGroupElement56, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement60, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonHeaderGroupElement67, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonHeaderGroupElement72, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonHeaderGroupElement74, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonHeaderGroupElement78, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement82, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonHeaderGroupElement89, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonHeaderGroupElement94, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonHeaderGroupElement96, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonHeaderGroupElement100, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement104, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonHeaderGroupElement110, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement114, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 416, col: 16, offset: 12878}, + run: (*parser).callonHeaderGroupElement120, + expr: &litMatcher{ + pos: position{line: 416, col: 16, offset: 12878}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 422, col: 5, offset: 13064}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 2688, col: 40, offset: 88218}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonHeaderGroupElement124, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 2688, col: 47, offset: 88225}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonHeaderGroupElement129, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &ruleRefExpr{ + pos: position{line: 2690, col: 11, offset: 88298}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2691, col: 11, offset: 88326}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2692, col: 11, offset: 88342}, + name: "Link", + }, + &actionExpr{ + pos: position{line: 2746, col: 5, offset: 89789}, + run: (*parser).callonHeaderGroupElement134, + expr: &seqExpr{ + pos: position{line: 2746, col: 5, offset: 89789}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2746, col: 5, offset: 89789}, + run: (*parser).callonHeaderGroupElement136, + }, + &labeledExpr{ + pos: position{line: 2749, col: 5, offset: 89860}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + run: (*parser).callonHeaderGroupElement139, + expr: &seqExpr{ + pos: position{line: 2790, col: 5, offset: 91187}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2790, col: 5, offset: 91187}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2790, col: 10, offset: 91192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonHeaderGroupElement143, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonHeaderGroupElement145, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonHeaderGroupElement147, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonHeaderGroupElement149, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonHeaderGroupElement151, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonHeaderGroupElement153, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonHeaderGroupElement155, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonHeaderGroupElement157, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonHeaderGroupElement159, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonHeaderGroupElement161, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonHeaderGroupElement163, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonHeaderGroupElement166, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonHeaderGroupElement170, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonHeaderGroupElement177, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonHeaderGroupElement179, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonHeaderGroupElement184, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonHeaderGroupElement191, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonHeaderGroupElement193, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonHeaderGroupElement195, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2799, col: 5, offset: 91645}, + run: (*parser).callonHeaderGroupElement197, + expr: &litMatcher{ + pos: position{line: 2799, col: 5, offset: 91645}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 7, offset: 91703}, + run: (*parser).callonHeaderGroupElement199, + expr: &litMatcher{ + pos: position{line: 2802, col: 7, offset: 91703}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2805, col: 7, offset: 91761}, + run: (*parser).callonHeaderGroupElement201, + expr: &litMatcher{ + pos: position{line: 2805, col: 7, offset: 91761}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2808, col: 7, offset: 91817}, + run: (*parser).callonHeaderGroupElement203, + expr: &litMatcher{ + pos: position{line: 2808, col: 7, offset: 91817}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2814, col: 14, offset: 91939}, + run: (*parser).callonHeaderGroupElement205, + expr: &litMatcher{ + pos: position{line: 2814, col: 14, offset: 91939}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2818, col: 14, offset: 92005}, + run: (*parser).callonHeaderGroupElement207, + expr: &litMatcher{ + pos: position{line: 2818, col: 14, offset: 92005}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2822, col: 15, offset: 92074}, + run: (*parser).callonHeaderGroupElement209, + expr: &litMatcher{ + pos: position{line: 2822, col: 15, offset: 92074}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2826, col: 13, offset: 92139}, + run: (*parser).callonHeaderGroupElement211, + expr: &litMatcher{ + pos: position{line: 2826, col: 13, offset: 92139}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonHeaderGroupElement213, + expr: &seqExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2833, col: 5, offset: 92296}, + run: (*parser).callonHeaderGroupElement215, + }, + &litMatcher{ + pos: position{line: 2836, col: 5, offset: 92352}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2836, col: 11, offset: 92358}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonHeaderGroupElement218, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2836, col: 19, offset: 92366}, + expr: &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonHeaderGroupElement222, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonHeaderGroupElement229, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2841, col: 5, offset: 92487}, + run: (*parser).callonHeaderGroupElement231, + }, + &litMatcher{ + pos: position{line: 2844, col: 5, offset: 92546}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2844, col: 10, offset: 92551}, + expr: &choiceExpr{ + pos: position{line: 2844, col: 12, offset: 92553}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonHeaderGroupElement236, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2849, col: 21, offset: 92640}, + run: (*parser).callonHeaderGroupElement243, + expr: &litMatcher{ + pos: position{line: 2849, col: 21, offset: 92640}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2853, col: 20, offset: 92710}, + run: (*parser).callonHeaderGroupElement245, + expr: &litMatcher{ + pos: position{line: 2853, col: 20, offset: 92710}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2857, col: 21, offset: 92781}, + run: (*parser).callonHeaderGroupElement247, + expr: &litMatcher{ + pos: position{line: 2857, col: 21, offset: 92781}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2861, col: 20, offset: 92851}, + run: (*parser).callonHeaderGroupElement249, + expr: &litMatcher{ + pos: position{line: 2861, col: 20, offset: 92851}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + run: (*parser).callonHeaderGroupElement251, + expr: &seqExpr{ + pos: position{line: 2872, col: 5, offset: 93159}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2872, col: 14, offset: 93168}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2872, col: 19, offset: 93173}, + expr: &charClassMatcher{ + pos: position{line: 2872, col: 20, offset: 93174}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + run: (*parser).callonHeaderGroupElement257, + expr: &seqExpr{ + pos: position{line: 2878, col: 5, offset: 93405}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2878, col: 14, offset: 93414}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2878, col: 18, offset: 93418}, + expr: &charClassMatcher{ + pos: position{line: 2878, col: 19, offset: 93419}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonHeaderGroupElement263, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonHeaderGroupElement265, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonHeaderGroupElement268, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonHeaderGroupElement270, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonHeaderGroupElement274, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonHeaderGroupElement278, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonHeaderGroupElement284, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonHeaderGroupElement289, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement293, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonHeaderGroupElement299, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement303, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonHeaderGroupElement309, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonHeaderGroupElement312, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonHeaderGroupElement316, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonHeaderGroupElement320, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2695, col: 11, offset: 88449}, + name: "InlineIcon", + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonHeaderGroupElement323, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonHeaderGroupElement325, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonHeaderGroupElement328, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement332, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonHeaderGroupElement339, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonHeaderGroupElement344, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonHeaderGroupElement346, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonHeaderGroupElement350, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement354, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonHeaderGroupElement361, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonHeaderGroupElement366, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonHeaderGroupElement368, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonHeaderGroupElement372, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement376, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonHeaderGroupElement382, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonHeaderGroupElement386, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonHeaderGroupElement392, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonHeaderGroupElement396, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1297, col: 5, offset: 40451}, + run: (*parser).callonHeaderGroupElement400, + expr: &seqExpr{ + pos: position{line: 1297, col: 5, offset: 40451}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1297, col: 5, offset: 40451}, + val: "\\[[", + ignoreCase: false, + want: "\"\\\\[[\"", + }, + &labeledExpr{ + pos: position{line: 1297, col: 14, offset: 40460}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonHeaderGroupElement404, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1297, col: 22, offset: 40468}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1303, col: 5, offset: 40654}, + run: (*parser).callonHeaderGroupElement408, + expr: &seqExpr{ + pos: position{line: 1303, col: 5, offset: 40654}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1303, col: 5, offset: 40654}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 1303, col: 10, offset: 40659}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonHeaderGroupElement412, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1303, col: 18, offset: 40667}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2699, col: 11, offset: 88672}, + name: "InlineFootnote", + }, + &actionExpr{ + pos: position{line: 3071, col: 12, offset: 99495}, + run: (*parser).callonHeaderGroupElement417, + expr: &anyMatcher{ + line: 3071, col: 12, offset: 99495, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlineMacro", + pos: position{line: 2704, col: 1, offset: 88751}, + expr: &actionExpr{ + pos: position{line: 2706, col: 5, offset: 88833}, + run: (*parser).callonInlineMacro1, + expr: &seqExpr{ + pos: position{line: 2706, col: 5, offset: 88833}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2706, col: 5, offset: 88833}, + run: (*parser).callonInlineMacro3, + }, + &labeledExpr{ + pos: position{line: 2709, col: 5, offset: 88898}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2710, col: 9, offset: 88916}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2710, col: 9, offset: 88916}, + name: "InlineIcon", + }, + &ruleRefExpr{ + pos: position{line: 2711, col: 11, offset: 88937}, + name: "InlineImage", + }, + &ruleRefExpr{ + pos: position{line: 2712, col: 11, offset: 88960}, + name: "Link", + }, + &ruleRefExpr{ + pos: position{line: 2713, col: 11, offset: 88976}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2714, col: 11, offset: 89005}, + name: "InlineFootnote", + }, + &ruleRefExpr{ + pos: position{line: 2715, col: 11, offset: 89031}, + name: "CrossReference", + }, + &ruleRefExpr{ + pos: position{line: 2716, col: 11, offset: 89057}, + name: "InlineUserMacro", + }, + &actionExpr{ + pos: position{line: 1297, col: 5, offset: 40451}, + run: (*parser).callonInlineMacro13, + expr: &seqExpr{ + pos: position{line: 1297, col: 5, offset: 40451}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1297, col: 5, offset: 40451}, + val: "\\[[", + ignoreCase: false, + want: "\"\\\\[[\"", + }, + &labeledExpr{ + pos: position{line: 1297, col: 14, offset: 40460}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonInlineMacro17, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1297, col: 22, offset: 40468}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1303, col: 5, offset: 40654}, + run: (*parser).callonInlineMacro21, + expr: &seqExpr{ + pos: position{line: 1303, col: 5, offset: 40654}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1303, col: 5, offset: 40654}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 1303, col: 10, offset: 40659}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonInlineMacro25, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1303, col: 18, offset: 40667}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1342, col: 23, offset: 42138}, + run: (*parser).callonInlineMacro29, + expr: &seqExpr{ + pos: position{line: 1342, col: 23, offset: 42138}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1342, col: 23, offset: 42138}, + val: "(((", + ignoreCase: false, + want: "\"(((\"", + }, + &labeledExpr{ + pos: position{line: 1342, col: 29, offset: 42144}, + label: "term1", + expr: &actionExpr{ + pos: position{line: 1349, col: 30, offset: 42475}, + run: (*parser).callonInlineMacro33, + expr: &oneOrMoreExpr{ + pos: position{line: 1349, col: 30, offset: 42475}, + expr: &choiceExpr{ + pos: position{line: 1349, col: 31, offset: 42476}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineMacro37, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1343, col: 5, offset: 42183}, + label: "term2", + expr: &zeroOrOneExpr{ + pos: position{line: 1343, col: 11, offset: 42189}, + expr: &actionExpr{ + pos: position{line: 1343, col: 12, offset: 42190}, + run: (*parser).callonInlineMacro41, + expr: &seqExpr{ + pos: position{line: 1343, col: 12, offset: 42190}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1343, col: 12, offset: 42190}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineMacro44, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 1343, col: 19, offset: 42197}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1343, col: 23, offset: 42201}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineMacro48, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1343, col: 30, offset: 42208}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1349, col: 30, offset: 42475}, + run: (*parser).callonInlineMacro51, + expr: &oneOrMoreExpr{ + pos: position{line: 1349, col: 30, offset: 42475}, + expr: &choiceExpr{ + pos: position{line: 1349, col: 31, offset: 42476}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineMacro55, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1344, col: 5, offset: 42275}, + label: "term3", + expr: &zeroOrOneExpr{ + pos: position{line: 1344, col: 11, offset: 42281}, + expr: &actionExpr{ + pos: position{line: 1344, col: 12, offset: 42282}, + run: (*parser).callonInlineMacro59, + expr: &seqExpr{ + pos: position{line: 1344, col: 12, offset: 42282}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1344, col: 12, offset: 42282}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineMacro62, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 1344, col: 19, offset: 42289}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1344, col: 23, offset: 42293}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineMacro66, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1344, col: 30, offset: 42300}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1349, col: 30, offset: 42475}, + run: (*parser).callonInlineMacro69, + expr: &oneOrMoreExpr{ + pos: position{line: 1349, col: 30, offset: 42475}, + expr: &choiceExpr{ + pos: position{line: 1349, col: 31, offset: 42476}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlineMacro73, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1345, col: 5, offset: 42367}, + val: ")))", + ignoreCase: false, + want: "\")))\"", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2719, col: 11, offset: 89136}, + name: "IndexTerm", + }, + &ruleRefExpr{ + pos: position{line: 2720, col: 11, offset: 89156}, + name: "InlineButton", + }, + &ruleRefExpr{ + pos: position{line: 2721, col: 11, offset: 89179}, + name: "InlineMenu", + }, + &ruleRefExpr{ + pos: position{line: 2722, col: 11, offset: 89200}, + name: "InlineUserMacro", + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlinePassthrough", + pos: position{line: 2726, col: 1, offset: 89262}, + expr: &actionExpr{ + pos: position{line: 2728, col: 5, offset: 89350}, + run: (*parser).callonInlinePassthrough1, + expr: &seqExpr{ + pos: position{line: 2728, col: 5, offset: 89350}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2728, col: 5, offset: 89350}, + run: (*parser).callonInlinePassthrough3, + }, + &labeledExpr{ + pos: position{line: 2731, col: 5, offset: 89427}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2732, col: 9, offset: 89445}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1414, col: 26, offset: 45495}, + run: (*parser).callonInlinePassthrough6, + expr: &seqExpr{ + pos: position{line: 1414, col: 26, offset: 45495}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1412, col: 32, offset: 45463}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + &labeledExpr{ + pos: position{line: 1414, col: 54, offset: 45523}, + label: "content", + expr: &choiceExpr{ + pos: position{line: 1418, col: 33, offset: 45736}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1418, col: 34, offset: 45737}, + run: (*parser).callonInlinePassthrough11, + expr: &zeroOrMoreExpr{ + pos: position{line: 1418, col: 34, offset: 45737}, + expr: &seqExpr{ + pos: position{line: 1418, col: 35, offset: 45738}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1418, col: 35, offset: 45738}, + expr: &litMatcher{ + pos: position{line: 1412, col: 32, offset: 45463}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + }, + &anyMatcher{ + line: 1418, col: 64, offset: 45767, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1420, col: 11, offset: 45940}, + run: (*parser).callonInlinePassthrough17, + expr: &zeroOrOneExpr{ + pos: position{line: 1420, col: 11, offset: 45940}, + expr: &seqExpr{ + pos: position{line: 1420, col: 12, offset: 45941}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1420, col: 12, offset: 45941}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlinePassthrough21, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1420, col: 19, offset: 45948}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlinePassthrough24, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1420, col: 28, offset: 45957}, + expr: &litMatcher{ + pos: position{line: 1412, col: 32, offset: 45463}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + }, + &anyMatcher{ + line: 1420, col: 57, offset: 45986, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1412, col: 32, offset: 45463}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + ¬Expr{ + pos: position{line: 1414, col: 121, offset: 45590}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1402, col: 26, offset: 44778}, + run: (*parser).callonInlinePassthrough35, + expr: &seqExpr{ + pos: position{line: 1402, col: 26, offset: 44778}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1400, col: 32, offset: 44748}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &labeledExpr{ + pos: position{line: 1402, col: 54, offset: 44806}, + label: "content", + expr: &choiceExpr{ + pos: position{line: 1406, col: 33, offset: 45019}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1406, col: 34, offset: 45020}, + run: (*parser).callonInlinePassthrough40, + expr: &seqExpr{ + pos: position{line: 1406, col: 34, offset: 45020}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1406, col: 35, offset: 45021}, + expr: &litMatcher{ + pos: position{line: 1400, col: 32, offset: 44748}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + ¬Expr{ + pos: position{line: 1406, col: 64, offset: 45050}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlinePassthrough45, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1406, col: 71, offset: 45057}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlinePassthrough48, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1406, col: 80, offset: 45066, + }, + &zeroOrMoreExpr{ + pos: position{line: 1406, col: 83, offset: 45069}, + expr: &seqExpr{ + pos: position{line: 1406, col: 84, offset: 45070}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1406, col: 84, offset: 45070}, + expr: &seqExpr{ + pos: position{line: 1406, col: 86, offset: 45072}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + run: (*parser).callonInlinePassthrough58, + expr: &oneOrMoreExpr{ + pos: position{line: 3123, col: 11, offset: 101027}, + expr: &charClassMatcher{ + pos: position{line: 3123, col: 12, offset: 101028}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 1400, col: 32, offset: 44748}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1406, col: 122, offset: 45108}, + expr: &litMatcher{ + pos: position{line: 1400, col: 32, offset: 44748}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + ¬Expr{ + pos: position{line: 1406, col: 151, offset: 45137}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlinePassthrough65, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1406, col: 160, offset: 45146, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1408, col: 11, offset: 45296}, + run: (*parser).callonInlinePassthrough71, + expr: &seqExpr{ + pos: position{line: 1408, col: 12, offset: 45297}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1408, col: 12, offset: 45297}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonInlinePassthrough74, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1408, col: 19, offset: 45304}, + expr: &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonInlinePassthrough77, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1408, col: 28, offset: 45313}, + expr: &litMatcher{ + pos: position{line: 1400, col: 32, offset: 44748}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + &anyMatcher{ + line: 1408, col: 57, offset: 45342, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1400, col: 32, offset: 44748}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + ¬Expr{ + pos: position{line: 1402, col: 121, offset: 44873}, + expr: &charClassMatcher{ + pos: position{line: 3033, col: 13, offset: 98126}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2732, col: 57, offset: 89493}, + name: "PassthroughMacro", + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "Quote", + pos: position{line: 2737, col: 1, offset: 89553}, + expr: &seqExpr{ + pos: position{line: 2739, col: 5, offset: 89629}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2739, col: 5, offset: 89629}, + run: (*parser).callonQuote2, + }, + &ruleRefExpr{ + pos: position{line: 2742, col: 5, offset: 89694}, + name: "QuotedText", + }, + }, + }, + }, + { + name: "TableColumnsAttribute", + pos: position{line: 2948, col: 1, offset: 95184}, + expr: &actionExpr{ + pos: position{line: 2948, col: 26, offset: 95209}, + run: (*parser).callonTableColumnsAttribute1, + expr: &seqExpr{ + pos: position{line: 2948, col: 26, offset: 95209}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2948, col: 26, offset: 95209}, + label: "cols", + expr: &zeroOrMoreExpr{ + pos: position{line: 2948, col: 31, offset: 95214}, + expr: &actionExpr{ + pos: position{line: 2953, col: 5, offset: 95277}, + run: (*parser).callonTableColumnsAttribute5, + expr: &seqExpr{ + pos: position{line: 2953, col: 5, offset: 95277}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2953, col: 5, offset: 95277}, + expr: ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2956, col: 5, offset: 95401}, + label: "multiplier", + expr: &zeroOrOneExpr{ + pos: position{line: 2956, col: 16, offset: 95412}, + expr: &actionExpr{ + pos: position{line: 2956, col: 17, offset: 95413}, + run: (*parser).callonTableColumnsAttribute12, + expr: &seqExpr{ + pos: position{line: 2956, col: 17, offset: 95413}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2956, col: 17, offset: 95413}, + label: "n", + expr: &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonTableColumnsAttribute15, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2956, col: 27, offset: 95423}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2957, col: 5, offset: 95451}, + label: "halign", + expr: &zeroOrOneExpr{ + pos: position{line: 2957, col: 12, offset: 95458}, + expr: &choiceExpr{ + pos: position{line: 2958, col: 9, offset: 95468}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2958, col: 9, offset: 95468}, + run: (*parser).callonTableColumnsAttribute25, + expr: &litMatcher{ + pos: position{line: 2958, col: 9, offset: 95468}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + }, + &actionExpr{ + pos: position{line: 2959, col: 11, offset: 95515}, + run: (*parser).callonTableColumnsAttribute27, + expr: &litMatcher{ + pos: position{line: 2959, col: 11, offset: 95515}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + }, + &actionExpr{ + pos: position{line: 2960, col: 11, offset: 95563}, + run: (*parser).callonTableColumnsAttribute29, + expr: &litMatcher{ + pos: position{line: 2960, col: 11, offset: 95563}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2962, col: 5, offset: 95613}, + label: "valign", + expr: &zeroOrOneExpr{ + pos: position{line: 2962, col: 12, offset: 95620}, + expr: &choiceExpr{ + pos: position{line: 2963, col: 9, offset: 95630}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2963, col: 9, offset: 95630}, + run: (*parser).callonTableColumnsAttribute34, + expr: &litMatcher{ + pos: position{line: 2963, col: 9, offset: 95630}, + val: ".<", + ignoreCase: false, + want: "\".<\"", + }, + }, + &actionExpr{ + pos: position{line: 2964, col: 11, offset: 95677}, + run: (*parser).callonTableColumnsAttribute36, + expr: &litMatcher{ + pos: position{line: 2964, col: 11, offset: 95677}, + val: ".>", + ignoreCase: false, + want: "\".>\"", + }, + }, + &actionExpr{ + pos: position{line: 2965, col: 11, offset: 95727}, + run: (*parser).callonTableColumnsAttribute38, + expr: &litMatcher{ + pos: position{line: 2965, col: 11, offset: 95727}, + val: ".^", + ignoreCase: false, + want: "\".^\"", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2967, col: 5, offset: 95778}, + label: "weight", + expr: &zeroOrOneExpr{ + pos: position{line: 2967, col: 12, offset: 95785}, + expr: &choiceExpr{ + pos: position{line: 2967, col: 13, offset: 95786}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3111, col: 12, offset: 100787}, + run: (*parser).callonTableColumnsAttribute43, + expr: &seqExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3111, col: 13, offset: 100788}, + expr: &litMatcher{ + pos: position{line: 3111, col: 13, offset: 100788}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3111, col: 18, offset: 100793}, + expr: &charClassMatcher{ + pos: position{line: 3111, col: 18, offset: 100793}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2967, col: 24, offset: 95797}, + run: (*parser).callonTableColumnsAttribute49, + expr: &litMatcher{ + pos: position{line: 2967, col: 24, offset: 95797}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2968, col: 5, offset: 95839}, + label: "style", + expr: &zeroOrOneExpr{ + pos: position{line: 2968, col: 11, offset: 95845}, + expr: &actionExpr{ + pos: position{line: 2968, col: 12, offset: 95846}, + run: (*parser).callonTableColumnsAttribute53, + expr: &charClassMatcher{ + pos: position{line: 2968, col: 12, offset: 95846}, + val: "[adehlms]", + chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2970, col: 5, offset: 95976}, + label: "comma", + expr: &zeroOrOneExpr{ + pos: position{line: 2970, col: 11, offset: 95982}, + expr: &litMatcher{ + pos: position{line: 2970, col: 12, offset: 95983}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2971, col: 5, offset: 95993}, + run: (*parser).callonTableColumnsAttribute58, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + { + name: "UserMacroBlock", + pos: position{line: 2998, col: 1, offset: 97002}, + expr: &actionExpr{ + pos: position{line: 2999, col: 5, offset: 97025}, + run: (*parser).callonUserMacroBlock1, + expr: &seqExpr{ + pos: position{line: 2999, col: 5, offset: 97025}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2999, col: 5, offset: 97025}, + label: "name", + expr: &actionExpr{ + pos: position{line: 3022, col: 18, offset: 97790}, + run: (*parser).callonUserMacroBlock4, + expr: &oneOrMoreExpr{ + pos: position{line: 3022, col: 19, offset: 97791}, + expr: &charClassMatcher{ + pos: position{line: 3022, col: 19, offset: 97791}, + val: "[_-0-9\\pL]", + chars: []rune{'_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 3000, col: 5, offset: 97051}, + run: (*parser).callonUserMacroBlock7, + }, + &litMatcher{ + pos: position{line: 3004, col: 5, offset: 97191}, + val: "::", + ignoreCase: false, + want: "\"::\"", + }, + &labeledExpr{ + pos: position{line: 3005, col: 5, offset: 97201}, + label: "value", + expr: &actionExpr{ + pos: position{line: 3026, col: 19, offset: 97866}, + run: (*parser).callonUserMacroBlock10, + expr: &zeroOrMoreExpr{ + pos: position{line: 3026, col: 19, offset: 97866}, + expr: &charClassMatcher{ + pos: position{line: 3026, col: 19, offset: 97866}, + val: "[^:[ \\r\\n]", + chars: []rune{':', '[', ' ', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3006, col: 5, offset: 97229}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 3006, col: 17, offset: 97241}, + name: "InlineAttributes", + }, + }, + &choiceExpr{ + pos: position{line: 3135, col: 8, offset: 101284}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3128, col: 12, offset: 101144}, + run: (*parser).callonUserMacroBlock16, + expr: &choiceExpr{ + pos: position{line: 3128, col: 13, offset: 101145}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3128, col: 13, offset: 101145}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 20, offset: 101152}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3128, col: 29, offset: 101161}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlineUserMacro", + pos: position{line: 3010, col: 1, offset: 97389}, + expr: &actionExpr{ + pos: position{line: 3011, col: 5, offset: 97413}, + run: (*parser).callonInlineUserMacro1, + expr: &seqExpr{ + pos: position{line: 3011, col: 5, offset: 97413}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3011, col: 5, offset: 97413}, + label: "name", + expr: &actionExpr{ + pos: position{line: 3022, col: 18, offset: 97790}, + run: (*parser).callonInlineUserMacro4, + expr: &oneOrMoreExpr{ + pos: position{line: 3022, col: 19, offset: 97791}, + expr: &charClassMatcher{ + pos: position{line: 3022, col: 19, offset: 97791}, + val: "[_-0-9\\pL]", + chars: []rune{'_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 3012, col: 5, offset: 97439}, + run: (*parser).callonInlineUserMacro7, + }, + &litMatcher{ + pos: position{line: 3016, col: 5, offset: 97579}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 3017, col: 5, offset: 97588}, + label: "value", + expr: &actionExpr{ + pos: position{line: 3026, col: 19, offset: 97866}, + run: (*parser).callonInlineUserMacro10, + expr: &zeroOrMoreExpr{ + pos: position{line: 3026, col: 19, offset: 97866}, + expr: &charClassMatcher{ + pos: position{line: 3026, col: 19, offset: 97866}, + val: "[^:[ \\r\\n]", + chars: []rune{':', '[', ' ', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3018, col: 5, offset: 97616}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 3018, col: 17, offset: 97628}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + { + name: "FileLocation", + pos: position{line: 3075, col: 1, offset: 99562}, + expr: &actionExpr{ + pos: position{line: 3075, col: 17, offset: 99578}, + run: (*parser).callonFileLocation1, + expr: &labeledExpr{ + pos: position{line: 3075, col: 17, offset: 99578}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3075, col: 22, offset: 99583}, + expr: &choiceExpr{ + pos: position{line: 3075, col: 23, offset: 99584}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + run: (*parser).callonFileLocation5, + expr: &seqExpr{ + pos: position{line: 3090, col: 5, offset: 100040}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3090, col: 5, offset: 100040}, + expr: &litMatcher{ + pos: position{line: 3090, col: 6, offset: 100041}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3091, col: 5, offset: 100065}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3091, col: 14, offset: 100074}, + expr: &choiceExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + run: (*parser).callonFileLocation12, + expr: &oneOrMoreExpr{ + pos: position{line: 3092, col: 9, offset: 100084}, + expr: &charClassMatcher{ + pos: position{line: 3092, col: 10, offset: 100085}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3095, col: 11, offset: 100350}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3065, col: 25, offset: 99224}, + run: (*parser).callonFileLocation16, + expr: &charClassMatcher{ + pos: position{line: 3065, col: 25, offset: 99224}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3095, col: 32, offset: 100371}, + expr: ¬Expr{ + pos: position{line: 3095, col: 34, offset: 100373}, + expr: &choiceExpr{ + pos: position{line: 3095, col: 36, offset: 100375}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3132, col: 8, offset: 101234}, + expr: &anyMatcher{ + line: 3132, col: 9, offset: 101235, + }, + }, + &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonFileLocation23, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonFileLocation25, + expr: &seqExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 647, col: 5, offset: 20685}, + run: (*parser).callonFileLocation27, + }, + &labeledExpr{ + pos: position{line: 650, col: 5, offset: 20757}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 650, col: 14, offset: 20766}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + run: (*parser).callonFileLocation30, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21419}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21431}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileLocation34, + 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: 670, col: 56, offset: 21450}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21456}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonFileLocation41, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonFileLocation46, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonFileLocation48, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21472}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + run: (*parser).callonFileLocation52, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21590}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21590}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21603}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileLocation56, + 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: 674, col: 57, offset: 21622}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21628}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + run: (*parser).callonFileLocation63, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21751}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21751}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21755}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21762}, + run: (*parser).callonFileLocation68, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21762}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + run: (*parser).callonFileLocation70, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21816}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21816}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21644}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonFileLocation74, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileLocation78, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonFileLocation84, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileLocation88, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonFileLocation94, + expr: &seqExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2757, col: 5, offset: 90015}, + run: (*parser).callonFileLocation96, + }, + &labeledExpr{ + pos: position{line: 2760, col: 5, offset: 90091}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 9, offset: 90189}, + run: (*parser).callonFileLocation99, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + run: (*parser).callonFileLocation101, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22470}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22470}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22475}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonFileLocation105, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22483}, + expr: &actionExpr{ + pos: position{line: 3119, col: 10, offset: 100960}, + run: (*parser).callonFileLocation109, + expr: &charClassMatcher{ + pos: position{line: 3119, col: 11, offset: 100961}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22490}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22494}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22895}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + run: (*parser).callonFileLocation115, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22902}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22902}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22910}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22910}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + run: (*parser).callonFileLocation120, + expr: &seqExpr{ + pos: position{line: 656, col: 5, offset: 20895}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 5, offset: 20895}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 13, offset: 20903}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileLocation124, + 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: 656, col: 32, offset: 20922}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + run: (*parser).callonFileLocation130, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21163}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21163}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21167}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10072}, + run: (*parser).callonFileLocation134, + 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: 663, col: 28, offset: 21186}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23136}, + run: (*parser).callonFileLocation140, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23136}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22522}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + run: (*parser).callonFileLocation143, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22595}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22595}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22600}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + run: (*parser).callonFileLocation147, + expr: &oneOrMoreExpr{ + pos: position{line: 3104, col: 7, offset: 100612}, + expr: &charClassMatcher{ + pos: position{line: 3104, col: 7, offset: 100612}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22608}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 11, offset: 90293}, + run: (*parser).callonFileLocation151, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 12, offset: 90294}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3098, col: 11, offset: 100456}, + run: (*parser).callonFileLocation153, + expr: &litMatcher{ + pos: position{line: 3098, col: 11, offset: 100456}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + run: (*parser).callonFileLocation155, + expr: &seqExpr{ + pos: position{line: 1218, col: 23, offset: 37946}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1218, col: 51, offset: 37974}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + run: (*parser).callonFileLocation159, + expr: &oneOrMoreExpr{ + pos: position{line: 1218, col: 56, offset: 37979}, + expr: &charClassMatcher{ + pos: position{line: 1218, col: 56, offset: 37979}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1216, col: 32, offset: 37914}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, +} + +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) { + 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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine97(stack["name"]) +} + +func (c *current) onDocumentRawLine111() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine92(stack["s"]) +} + +func (c *current) onDocumentRawLine127() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine127() +} + +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 (p *parser) callonDocumentRawLine123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine123(stack["name"]) +} + +func (c *current) onDocumentRawLine137() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine118(stack["s"]) +} + +func (c *current) onDocumentRawLine151() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine147(stack["name"]) +} + +func (c *current) onDocumentRawLine161() (interface{}, error) { + 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) { + 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 +} + +func (p *parser) callonDocumentRawLine144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine144(stack["s"]) +} + +func (c *current) onDocumentRawLine171() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine171() (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 +} + +func (p *parser) callonDocumentRawLine167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine167(stack["w"]) +} + +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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine183() +} + +func (c *current) onDocumentRawLine190() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine204() +} + +func (c *current) onDocumentRawLine207() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine207() +} + +func (c *current) onDocumentRawLine220() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine220() (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), `\`)) + +} + +func (p *parser) callonDocumentRawLine216() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine216(stack["name"]) +} + +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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine211(stack["s"]) +} + +func (c *current) onDocumentRawLine246() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine242(stack["name"]) +} + +func (c *current) onDocumentRawLine256() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine256() (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)) + +} + +func (p *parser) callonDocumentRawLine252() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine252(stack["name"]) +} + +func (c *current) onDocumentRawLine237(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine237() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine237(stack["s"]) +} + +func (c *current) onDocumentRawLine270() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine270() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine270() +} + +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) 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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine330() +} + +func (c *current) onDocumentRawLine314(name, attr interface{}) (interface{}, error) { + return types.NewEndOfCondition() // name and attributes are parsed but ignored + +} + +func (p *parser) callonDocumentRawLine314() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine314(stack["name"], stack["attr"]) +} + +func (c *current) onDocumentRawLine343() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine343() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine343() +} + +func (c *current) onDocumentRawLine349() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine349() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine349() +} + +func (c *current) onDocumentRawLine352() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine352() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine352() +} + +func (c *current) onDocumentRawLine340(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine340() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine340(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine362() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine362() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine362() +} + +func (c *current) onDocumentRawLine368() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine368() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine368() +} + +func (c *current) onDocumentRawLine371() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine371() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine371() +} + +func (c *current) onDocumentRawLine359(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine359() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine359(stack["delimiter"]) +} + +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) callonDocumentRawLine382() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine382() +} + +func (c *current) onDocumentRawLine386() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine386() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine386() +} + +func (c *current) onDocumentRawLine389() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine389() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine389() +} + +func (c *current) onDocumentRawLine378(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonDocumentRawLine378() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine378(stack["language"]) +} + +func (c *current) onDocumentRawLine399() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine399() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine399() +} + +func (c *current) onDocumentRawLine405() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine405() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine405() +} + +func (c *current) onDocumentRawLine408() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine408() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine408() +} + +func (c *current) onDocumentRawLine396(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine396() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine396(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine418() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine418() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine418() +} + +func (c *current) onDocumentRawLine424() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine424() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine424() +} + +func (c *current) onDocumentRawLine427() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine427() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine427() +} + +func (c *current) onDocumentRawLine415(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine415() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine415(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine437() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine437() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine437() +} + +func (c *current) onDocumentRawLine443() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine443() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine443() +} + +func (c *current) onDocumentRawLine446() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine446() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine446() +} + +func (c *current) onDocumentRawLine434(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine434() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine434(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine456() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine456() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine456() +} + +func (c *current) onDocumentRawLine462() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine462() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine462() +} + +func (c *current) onDocumentRawLine465() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine465() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine465() +} + +func (c *current) onDocumentRawLine453(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine453() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine453(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine475() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine475() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine475() +} + +func (c *current) onDocumentRawLine481() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine481() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine481() +} + +func (c *current) onDocumentRawLine484() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine484() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine484() +} + +func (c *current) onDocumentRawLine472(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine472() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine472(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine494() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine494() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine494() +} + +func (c *current) onDocumentRawLine500() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine500() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine500() +} + +func (c *current) onDocumentRawLine503() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine503() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine503() +} + +func (c *current) onDocumentRawLine491(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine491() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine491(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine334(delimiter interface{}) (interface{}, error) { + return delimiter, nil + +} + +func (p *parser) callonDocumentRawLine334() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine334(stack["delimiter"]) +} + +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) callonDocumentRawLine512() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine512() +} + +func (c *current) onDocumentRawLine513() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil + +} + +func (p *parser) callonDocumentRawLine513() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine513() +} + +func (c *current) onDocumentRawLine515() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil + +} + +func (p *parser) callonDocumentRawLine515() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine515() +} + +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) callonDocumentRawLine518() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine518(stack["level"]) +} + +func (c *current) onDocumentRawLine519(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine519() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine519(stack["level"]) +} + +func (c *current) onDocumentRawLine510(level interface{}) (interface{}, error) { + return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content + +} + +func (p *parser) callonDocumentRawLine510() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine510(stack["level"]) +} + +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) callonDocumentRawLine1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine1(stack["element"]) +} + +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) callonFileInclusion19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion19() +} + +func (c *current) onFileInclusion23() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonFileInclusion23() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion23() +} + +func (c *current) onFileInclusion30() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion30() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion30() +} + +func (c *current) onFileInclusion34() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonFileInclusion34() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion34() +} + +func (c *current) onFileInclusion41() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion41() +} + +func (c *current) onFileInclusion53() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion53() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion53() +} + +func (c *current) onFileInclusion55() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonFileInclusion55() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion55() +} + +func (c *current) onFileInclusion48(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonFileInclusion48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion48(stack["start"]) +} + +func (c *current) onFileInclusion37(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonFileInclusion37() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion37(stack["name"], stack["start"]) +} + +func (c *current) onFileInclusion63() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion63() +} + +func (c *current) onFileInclusion75() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion75() +} + +func (c *current) onFileInclusion77() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonFileInclusion77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion77() +} + +func (c *current) onFileInclusion70(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonFileInclusion70() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion70(stack["start"]) +} + +func (c *current) onFileInclusion59(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonFileInclusion59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion59(stack["name"], stack["start"]) +} + +func (c *current) onFileInclusion85() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion85() +} + +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) callonFileInclusion81() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion81(stack["name"]) +} + +func (c *current) onFileInclusion95() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion95() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion95() +} + +func (c *current) onFileInclusion91(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonFileInclusion91() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion91(stack["name"]) +} + +func (c *current) onFileInclusion32(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonFileInclusion32() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion32(stack["element"]) +} + +func (c *current) onFileInclusion103() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonFileInclusion103() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion103() +} + +func (c *current) onFileInclusion112() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion112() +} + +func (c *current) onFileInclusion116() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion116() +} + +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) callonFileInclusion122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion122() +} + +func (c *current) onFileInclusion131() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion131() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion131() +} + +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) callonFileInclusion127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion127(stack["name"]) +} + +func (c *current) onFileInclusion141() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion141() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion141() +} + +func (c *current) onFileInclusion137(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonFileInclusion137() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion137(stack["name"]) +} + +func (c *current) onFileInclusion147() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion147() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion147() +} + +func (c *current) onFileInclusion108(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonFileInclusion108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion108(stack["id"], stack["label"]) +} + +func (c *current) onFileInclusion154() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion154() +} + +func (c *current) onFileInclusion150(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonFileInclusion150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion150(stack["id"]) +} + +func (c *current) onFileInclusion106() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion106() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion106() +} + +func (c *current) onFileInclusion158() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonFileInclusion158() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion158() +} + +func (c *current) onFileInclusion101(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonFileInclusion101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion101(stack["element"]) +} + +func (c *current) onFileInclusion160() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion160() +} + +func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonFileInclusion12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion12(stack["elements"]) +} + +func (c *current) onFileInclusion166() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonFileInclusion166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion166() +} + +func (c *current) onFileInclusion162(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonFileInclusion162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion162(stack["ref"]) +} + +func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) + +} + +func (p *parser) callonFileInclusion8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion8(stack["path"]) +} + +func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { + + return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) + +} + +func (p *parser) callonFileInclusion4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) +} + +func (c *current) onFileInclusion173() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion173() +} + +func (c *current) onFileInclusion176() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonFileInclusion176() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion176() +} + +func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { + return incl.(*types.FileInclusion), nil + +} + +func (p *parser) callonFileInclusion1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion1(stack["incl"]) +} + +func (c *current) onLineRanges12() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges12() +} + +func (c *current) onLineRanges20() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges20() +} + +func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) + +} + +func (p *parser) callonLineRanges9() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges9(stack["start"], stack["end"]) +} + +func (c *current) onLineRanges28() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges28() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges28() +} + +func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) + +} + +func (p *parser) callonLineRanges26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges26(stack["singleline"]) +} + +func (c *current) onLineRanges44() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges44() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges44() +} + +func (c *current) onLineRanges52() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges52() +} + +func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) + +} + +func (p *parser) callonLineRanges41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges41(stack["start"], stack["end"]) +} + +func (c *current) onLineRanges60() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges60() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges60() +} + +func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) + +} + +func (p *parser) callonLineRanges58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges58(stack["singleline"]) +} + +func (c *current) onLineRanges36(other interface{}) (interface{}, error) { + return other, nil + +} + +func (p *parser) callonLineRanges36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges36(stack["other"]) +} + +func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil + +} + +func (p *parser) callonLineRanges5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges5(stack["first"], stack["others"]) +} + +func (c *current) onLineRanges69() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges69() +} + +func (c *current) onLineRanges77() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges77() +} + +func (c *current) onLineRanges66(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) + +} + +func (p *parser) callonLineRanges66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges66(stack["start"], stack["end"]) +} + +func (c *current) onLineRanges85() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLineRanges85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges85() +} + +func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) + +} + +func (p *parser) callonLineRanges83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges83(stack["singleline"]) +} + +func (c *current) onLineRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil + +} + +func (p *parser) callonLineRanges1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLineRanges1(stack["value"]) +} + +func (c *current) onTagRanges11() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonTagRanges11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges11() +} + +func (c *current) onTagRanges17() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonTagRanges17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges17() +} + +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 (p *parser) callonTagRanges20() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges20(stack["stars"]) +} + +func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { + return stars, nil + +} + +func (p *parser) callonTagRanges14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges14(stack["stars"]) +} + +func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) + +} + +func (p *parser) callonTagRanges8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges8(stack["tag"]) +} + +func (c *current) onTagRanges26() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonTagRanges26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges26() +} + +func (c *current) onTagRanges32() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonTagRanges32() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges32() +} + +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) callonTagRanges35() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges35(stack["stars"]) +} + +func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { + return stars, nil + +} + +func (p *parser) callonTagRanges29() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges29(stack["stars"]) +} + +func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) + +} + +func (p *parser) callonTagRanges21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges21(stack["tag"]) +} + +func (c *current) onTagRanges46() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonTagRanges46() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges46() +} + +func (c *current) onTagRanges52() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonTagRanges52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges52() +} + +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) callonTagRanges55() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges55(stack["stars"]) +} + +func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { + return stars, nil + +} + +func (p *parser) callonTagRanges49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges49(stack["stars"]) +} + +func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) + +} + +func (p *parser) callonTagRanges43() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges43(stack["tag"]) +} + +func (c *current) onTagRanges61() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonTagRanges61() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges61() +} + +func (c *current) onTagRanges67() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonTagRanges67() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges67() +} + +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) callonTagRanges70() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges70(stack["stars"]) +} + +func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { + return stars, nil + +} + +func (p *parser) callonTagRanges64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges64(stack["stars"]) +} + +func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) + +} + +func (p *parser) callonTagRanges56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges56(stack["tag"]) +} + +func (c *current) onTagRanges38(other interface{}) (interface{}, error) { + return other, nil + +} + +func (p *parser) callonTagRanges38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges38(stack["other"]) +} + +func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil + +} + +func (p *parser) callonTagRanges4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges4(stack["first"], stack["others"]) +} + +func (c *current) onTagRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil + +} + +func (p *parser) callonTagRanges1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges1(stack["value"]) +} + +func (c *current) onIncludedFileLine11() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonIncludedFileLine11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine11() +} + +func (c *current) onIncludedFileLine10() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonIncludedFileLine10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine10() +} + +func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { + return types.NewIncludedFileStartTag(tag.(string)) + +} + +func (p *parser) callonIncludedFileLine6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine6(stack["tag"]) +} + +func (c *current) onIncludedFileLine20() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonIncludedFileLine20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine20() +} + +func (c *current) onIncludedFileLine19() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonIncludedFileLine19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine19() +} + +func (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { + return types.NewIncludedFileEndTag(tag.(string)) + +} + +func (p *parser) callonIncludedFileLine15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine15(stack["tag"]) +} + +func (c *current) onIncludedFileLine24() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonIncludedFileLine24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine24() +} + +func (c *current) onIncludedFileLine27() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonIncludedFileLine27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine27() +} + +func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { + return types.NewIncludedFileLine(content.([]interface{})) + +} + +func (p *parser) callonIncludedFileLine1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIncludedFileLine1(stack["content"]) +} + +func (c *current) onDocumentFragment21() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment21() +} + +func (c *current) onDocumentFragment28() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment28() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment28() +} + +func (c *current) onDocumentFragment31() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment31() +} + +func (c *current) onDocumentFragment17(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentFragment17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment17(stack["name"]) +} + +func (c *current) onDocumentFragment42() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment42() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment42() +} + +func (c *current) onDocumentFragment49() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment49() +} + +func (c *current) onDocumentFragment52() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment52() +} + +func (c *current) onDocumentFragment38(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentFragment38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment38(stack["name"]) +} + +func (c *current) onDocumentFragment65() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment65() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment65() +} + +func (c *current) onDocumentFragment68() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment68() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment68() +} + +func (c *current) onDocumentFragment59() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonDocumentFragment59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment59() +} + +func (c *current) onDocumentFragment77() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil + +} + +func (p *parser) callonDocumentFragment77() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment77() +} + +func (c *current) onDocumentFragment79() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil + +} + +func (p *parser) callonDocumentFragment79() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment79() +} + +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) callonDocumentFragment82() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment82(stack["level"]) +} + +func (c *current) onDocumentFragment83(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment83(stack["level"]) +} + +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) callonDocumentFragment87() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment87() +} + +func (c *current) onDocumentFragment91() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment91() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment91() +} + +func (c *current) onDocumentFragment75(level, title interface{}) (interface{}, error) { + return types.NewSection(level.(int), title.([]interface{})) + +} + +func (p *parser) callonDocumentFragment75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment75(stack["level"], stack["title"]) +} + +func (c *current) onDocumentFragment103() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment103() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment103() +} + +func (c *current) onDocumentFragment109() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment109() +} + +func (c *current) onDocumentFragment112() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment112() +} + +func (c *current) onDocumentFragment100(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment100() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment100(stack["delimiter"]) +} + +func (c *current) onDocumentFragment128() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment128() +} + +func (c *current) onDocumentFragment134() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment134() +} + +func (c *current) onDocumentFragment137() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment137() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment137() +} + +func (c *current) onDocumentFragment125(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment125() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment125(stack["delimiter"]) +} + +func (c *current) onDocumentFragment153() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment153() +} + +func (c *current) onDocumentFragment157() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment157() +} + +func (c *current) onDocumentFragment147(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment147() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment147(stack["content"]) +} + +func (c *current) onDocumentFragment121(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment121(stack["line"]) +} + +func (c *current) onDocumentFragment169() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment169() +} + +func (c *current) onDocumentFragment175() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment175() +} + +func (c *current) onDocumentFragment178() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment178() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment178() +} + +func (c *current) onDocumentFragment166(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment166(stack["delimiter"]) +} + +func (c *current) onDocumentFragment98(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment98(stack["delimiter"], stack["content"]) +} + +func (c *current) onDocumentFragment193() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment193() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment193() +} + +func (c *current) onDocumentFragment199() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment199() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment199() +} + +func (c *current) onDocumentFragment202() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment202() +} + +func (c *current) onDocumentFragment190(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment190(stack["delimiter"]) +} + +func (c *current) onDocumentFragment209(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment209() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment209(stack["start"]) +} + +func (c *current) onDocumentFragment221() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment221() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment221() +} + +func (c *current) onDocumentFragment227() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment227() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment227() +} + +func (c *current) onDocumentFragment230() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment230() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment230() +} + +func (c *current) onDocumentFragment218(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment218() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment218(stack["delimiter"]) +} + +func (c *current) onDocumentFragment237(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment237() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment237(stack["end"]) +} + +func (c *current) onDocumentFragment247() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment247() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment247() +} + +func (c *current) onDocumentFragment251() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment251() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment251() +} + +func (c *current) onDocumentFragment241(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment241(stack["content"]) +} + +func (c *current) onDocumentFragment212(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment212() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment212(stack["line"]) +} + +func (c *current) onDocumentFragment266() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment266() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment266() +} + +func (c *current) onDocumentFragment272() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment272() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment272() +} + +func (c *current) onDocumentFragment275() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment275() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment275() +} + +func (c *current) onDocumentFragment263(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment263() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment263(stack["delimiter"]) +} + +func (c *current) onDocumentFragment282(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment282() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment282(stack["end"]) +} + +func (c *current) onDocumentFragment187(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Example, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment187() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment187(stack["start"], stack["content"], stack["end"]) +} + +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) callonDocumentFragment292() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment292() +} + +func (c *current) onDocumentFragment296() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment296() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment296() +} + +func (c *current) onDocumentFragment299() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment299() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment299() +} + +func (c *current) onDocumentFragment288(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonDocumentFragment288() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment288(stack["language"]) +} + +func (c *current) onDocumentFragment314() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment314() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment314() +} + +func (c *current) onDocumentFragment317() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment317() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment317() +} + +func (c *current) onDocumentFragment331() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment331() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment331() +} + +func (c *current) onDocumentFragment335() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment335() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment335() +} + +func (c *current) onDocumentFragment325(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment325() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment325(stack["content"]) +} + +func (c *current) onDocumentFragment308(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment308() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment308(stack["line"]) +} + +func (c *current) onDocumentFragment346() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment346() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment346() +} + +func (c *current) onDocumentFragment349() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment349() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment349() +} + +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) callonDocumentFragment285() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment285(stack["delimiter"], stack["content"]) +} + +func (c *current) onDocumentFragment362() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment362() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment362() +} + +func (c *current) onDocumentFragment368() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment368() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment368() +} + +func (c *current) onDocumentFragment371() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment371() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment371() +} + +func (c *current) onDocumentFragment359(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment359() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment359(stack["delimiter"]) +} + +func (c *current) onDocumentFragment378(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment378() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment378(stack["start"]) +} + +func (c *current) onDocumentFragment390() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment390() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment390() +} + +func (c *current) onDocumentFragment396() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment396() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment396() +} + +func (c *current) onDocumentFragment399() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment399() (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)) + +} + +func (p *parser) callonDocumentFragment387() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment387(stack["delimiter"]) +} + +func (c *current) onDocumentFragment406(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment406() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment406(stack["end"]) +} + +func (c *current) onDocumentFragment416() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment416() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment416() +} + +func (c *current) onDocumentFragment420() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment420() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment420() +} + +func (c *current) onDocumentFragment410(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment410() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment410(stack["content"]) +} + +func (c *current) onDocumentFragment381(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment381() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment381(stack["line"]) +} + +func (c *current) onDocumentFragment435() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment435() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment435() +} + +func (c *current) onDocumentFragment441() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment441() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment441() +} + +func (c *current) onDocumentFragment444() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment444() (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)) + +} + +func (p *parser) callonDocumentFragment432() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment432(stack["delimiter"]) +} + +func (c *current) onDocumentFragment451(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment451() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment451(stack["end"]) +} + +func (c *current) onDocumentFragment356(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment356() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment356(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onDocumentFragment460() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment460() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment460() +} + +func (c *current) onDocumentFragment466() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment466() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment466() +} + +func (c *current) onDocumentFragment469() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment469() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment469() +} + +func (c *current) onDocumentFragment457(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment457() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment457(stack["delimiter"]) +} + +func (c *current) onDocumentFragment476(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment476() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment476(stack["start"]) +} + +func (c *current) onDocumentFragment488() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment488() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment488() +} + +func (c *current) onDocumentFragment494() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment494() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment494() +} + +func (c *current) onDocumentFragment497() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment497() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment497() +} + +func (c *current) onDocumentFragment485(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment485() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment485(stack["delimiter"]) +} + +func (c *current) onDocumentFragment504(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment504() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment504(stack["end"]) +} + +func (c *current) onDocumentFragment514() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment514() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment514() +} + +func (c *current) onDocumentFragment518() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment518() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment518() +} + +func (c *current) onDocumentFragment508(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment508() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment508(stack["content"]) +} + +func (c *current) onDocumentFragment479(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment479() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment479(stack["line"]) +} + +func (c *current) onDocumentFragment533() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment533() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment533() +} + +func (c *current) onDocumentFragment539() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment539() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment539() +} + +func (c *current) onDocumentFragment542() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment542() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment542() +} + +func (c *current) onDocumentFragment530(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment530() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment530(stack["delimiter"]) +} + +func (c *current) onDocumentFragment549(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment549() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment549(stack["end"]) +} + +func (c *current) onDocumentFragment454(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment454() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment454(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onDocumentFragment558() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment558() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment558() +} + +func (c *current) onDocumentFragment564() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment564() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment564() +} + +func (c *current) onDocumentFragment567() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment567() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment567() +} + +func (c *current) onDocumentFragment555(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment555() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment555(stack["delimiter"]) +} + +func (c *current) onDocumentFragment574(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment574() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment574(stack["start"]) +} + +func (c *current) onDocumentFragment586() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment586() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment586() +} + +func (c *current) onDocumentFragment592() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment592() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment592() +} + +func (c *current) onDocumentFragment595() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment595() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment595() +} + +func (c *current) onDocumentFragment583(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment583() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment583(stack["delimiter"]) +} + +func (c *current) onDocumentFragment602(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment602() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment602(stack["end"]) +} + +func (c *current) onDocumentFragment612() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment612() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment612() +} + +func (c *current) onDocumentFragment616() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment606(stack["content"]) +} + +func (c *current) onDocumentFragment577(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment577() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment577(stack["line"]) +} + +func (c *current) onDocumentFragment631() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment631() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment631() +} + +func (c *current) onDocumentFragment637() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment637() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment637() +} + +func (c *current) onDocumentFragment640() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment640() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment640() +} + +func (c *current) onDocumentFragment628(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment628() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment628(stack["delimiter"]) +} + +func (c *current) onDocumentFragment647(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment647() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment647(stack["end"]) +} + +func (c *current) onDocumentFragment552(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment552() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment552(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onDocumentFragment662() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment662() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment662() +} + +func (c *current) onDocumentFragment665() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment656() +} + +func (c *current) onDocumentFragment674() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment674() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment674() +} + +func (c *current) onDocumentFragment678() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment678() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment678() +} + +func (c *current) onDocumentFragment653(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment653() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment653(stack["content"]) +} + +func (c *current) onDocumentFragment697() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment697() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment697() +} + +func (c *current) onDocumentFragment700() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment700() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment700() +} + +func (c *current) onDocumentFragment691() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonDocumentFragment691() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment691() +} + +func (c *current) onDocumentFragment709() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment709() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment709() +} + +func (c *current) onDocumentFragment713() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment713() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment713() +} + +func (c *current) onDocumentFragment688(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment688() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment688(stack["content"]) +} + +func (c *current) onDocumentFragment723() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonDocumentFragment723() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment723() +} + +func (c *current) onDocumentFragment726(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonDocumentFragment726() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment726(stack["content"]) +} + +func (c *current) onDocumentFragment728() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment728() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment728() +} + +func (c *current) onDocumentFragment720(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment720() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment720(stack["content"]) +} + +func (c *current) onDocumentFragment650(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + +} + +func (p *parser) callonDocumentFragment650() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment650(stack["firstLine"], stack["otherLines"]) +} + +func (c *current) onDocumentFragment741() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment741() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment741() +} + +func (c *current) onDocumentFragment747() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment747() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment747() +} + +func (c *current) onDocumentFragment750() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment750() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment750() +} + +func (c *current) onDocumentFragment738(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment738() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment738(stack["delimiter"]) +} + +func (c *current) onDocumentFragment757(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment757() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment757(stack["start"]) +} + +func (c *current) onDocumentFragment769() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment769() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment769() +} + +func (c *current) onDocumentFragment775() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment775() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment775() +} + +func (c *current) onDocumentFragment778() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment778() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment778() +} + +func (c *current) onDocumentFragment766(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment766() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment766(stack["delimiter"]) +} + +func (c *current) onDocumentFragment785(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment785() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment785(stack["end"]) +} + +func (c *current) onDocumentFragment795() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment795() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment795() +} + +func (c *current) onDocumentFragment799() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment799() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment799() +} + +func (c *current) onDocumentFragment789(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment789() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment789(stack["content"]) +} + +func (c *current) onDocumentFragment760(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment760() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment760(stack["line"]) +} + +func (c *current) onDocumentFragment814() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment814() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment814() +} + +func (c *current) onDocumentFragment820() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment820() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment820() +} + +func (c *current) onDocumentFragment823() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment823() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment823() +} + +func (c *current) onDocumentFragment811(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment811() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment811(stack["delimiter"]) +} + +func (c *current) onDocumentFragment830(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment830() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment830(stack["end"]) +} + +func (c *current) onDocumentFragment735(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment735() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment735(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onDocumentFragment839() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment839() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment839() +} + +func (c *current) onDocumentFragment845() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment845() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment845() +} + +func (c *current) onDocumentFragment848() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment848() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment848() +} + +func (c *current) onDocumentFragment836(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment836() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment836(stack["delimiter"]) +} + +func (c *current) onDocumentFragment855(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment855() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment855(stack["start"]) +} + +func (c *current) onDocumentFragment867() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment867() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment867() +} + +func (c *current) onDocumentFragment873() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment873() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment873() +} + +func (c *current) onDocumentFragment876() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment876() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment876() +} + +func (c *current) onDocumentFragment864(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment864() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment864(stack["delimiter"]) +} + +func (c *current) onDocumentFragment883(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment883() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment883(stack["end"]) +} + +func (c *current) onDocumentFragment893() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment893() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment893() +} + +func (c *current) onDocumentFragment897() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment897() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment897() +} + +func (c *current) onDocumentFragment887(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment887() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment887(stack["content"]) +} + +func (c *current) onDocumentFragment858(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment858() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment858(stack["line"]) +} + +func (c *current) onDocumentFragment912() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment912() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment912() +} + +func (c *current) onDocumentFragment918() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment918() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment918() +} + +func (c *current) onDocumentFragment921() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment921() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment921() +} + +func (c *current) onDocumentFragment909(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment909() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment909(stack["delimiter"]) +} + +func (c *current) onDocumentFragment928(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment928() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment928(stack["end"]) +} + +func (c *current) onDocumentFragment833(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment833() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment833(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onDocumentFragment937() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment937() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment937() +} + +func (c *current) onDocumentFragment943() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment943() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment943() +} + +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) callonDocumentFragment934() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment934(stack["delimiter"]) +} + +func (c *current) onDocumentFragment953(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment953() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment953(stack["start"]) +} + +func (c *current) onDocumentFragment965() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment965() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment965() +} + +func (c *current) onDocumentFragment971() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment971() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment971() +} + +func (c *current) onDocumentFragment974() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment974() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment974() +} + +func (c *current) onDocumentFragment962(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment962() (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) + +} + +func (p *parser) callonDocumentFragment981() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment981(stack["end"]) +} + +func (c *current) onDocumentFragment991() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment991() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment991() +} + +func (c *current) onDocumentFragment995() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment995() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment995() +} + +func (c *current) onDocumentFragment985(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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment956(stack["line"]) +} + +func (c *current) onDocumentFragment1010() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1010() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1010() +} + +func (c *current) onDocumentFragment1016() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1016() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1016() +} + +func (c *current) onDocumentFragment1019() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1019() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1019() +} + +func (c *current) onDocumentFragment1007(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentFragment1007() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1007(stack["delimiter"]) +} + +func (c *current) onDocumentFragment1026(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonDocumentFragment1026() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1026(stack["end"]) +} + +func (c *current) onDocumentFragment931(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment931() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment931(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onDocumentFragment1040() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1040() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1040() +} + +func (c *current) onDocumentFragment1043() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1043() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1043() +} + +func (c *current) onDocumentFragment1051() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1051() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1051() +} + +func (c *current) onDocumentFragment1029() (interface{}, error) { + + return types.NewThematicBreak() + +} + +func (p *parser) callonDocumentFragment1029() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1029() +} + +func (c *current) onDocumentFragment1063() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1063() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1063() +} + +func (c *current) onDocumentFragment1066() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1066() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1066() +} + +func (c *current) onDocumentFragment1083() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1083() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1083() +} + +func (c *current) onDocumentFragment1089() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1089() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1089() +} + +func (c *current) onDocumentFragment1087(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + +} + +func (p *parser) callonDocumentFragment1087() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1087(stack["content"]) +} + +func (c *current) onDocumentFragment1079(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) + +} + +func (p *parser) callonDocumentFragment1079() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1079(stack["content"]) +} + +func (c *current) onDocumentFragment1093() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1093() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1093() +} + +func (c *current) onDocumentFragment1107() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1107() +} + +func (c *current) onDocumentFragment1110() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1110() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1110() +} + +func (c *current) onDocumentFragment1101() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonDocumentFragment1101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1101() +} + +func (c *current) onDocumentFragment1075(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + +} + +func (p *parser) callonDocumentFragment1075() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1075(stack["cells"]) +} + +func (c *current) onDocumentFragment1127() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1127() +} + +func (c *current) onDocumentFragment1130() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1130() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1130() +} + +func (c *current) onDocumentFragment1151() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1151() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1151() +} + +func (c *current) onDocumentFragment1154() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1154() +} + +func (c *current) onDocumentFragment1170() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1170() +} + +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) callonDocumentFragment1164() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1164() +} + +func (c *current) onDocumentFragment1182() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1182() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1182() +} + +func (c *current) onDocumentFragment1188() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1188() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1188() +} + +func (c *current) onDocumentFragment1186(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + +} + +func (p *parser) callonDocumentFragment1186() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1186(stack["content"]) +} + +func (c *current) onDocumentFragment1144(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) + +} + +func (p *parser) callonDocumentFragment1144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1144(stack["content"]) +} + +func (c *current) onDocumentFragment1192() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1192() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1192() +} + +func (c *current) onDocumentFragment1141(cell interface{}) (interface{}, error) { + return cell, nil + +} + +func (p *parser) callonDocumentFragment1141() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1141(stack["cell"]) +} + +func (c *current) onDocumentFragment1207() (interface{}, error) { + return string(c.text), nil + +} + +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) callonDocumentFragment1210() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1210() +} + +func (c *current) onDocumentFragment1201() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonDocumentFragment1201() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1201() +} + +func (c *current) onDocumentFragment1222() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1222() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1222() +} + +func (c *current) onDocumentFragment1225() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1225() +} + +func (c *current) onDocumentFragment1120(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + +} + +func (p *parser) callonDocumentFragment1120() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1120(stack["cells"]) +} + +func (c *current) onDocumentFragment1241() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1241() +} + +func (c *current) onDocumentFragment1244() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1244() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1244() +} + +func (c *current) onDocumentFragment1262() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1262() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1262() +} + +func (c *current) onDocumentFragment1265() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1265() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1265() +} + +func (c *current) onDocumentFragment1281() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1281() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1281() +} + +func (c *current) onDocumentFragment1284() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1284() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1284() +} + +func (c *current) onDocumentFragment1275() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonDocumentFragment1275() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1275() +} + +func (c *current) onDocumentFragment1293() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1293() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1293() +} + +func (c *current) onDocumentFragment1299() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1299() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1299() +} + +func (c *current) onDocumentFragment1297(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + +} + +func (p *parser) callonDocumentFragment1297() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1297(stack["content"]) +} + +func (c *current) onDocumentFragment1255(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) + +} + +func (p *parser) callonDocumentFragment1255() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1255(stack["content"]) +} + +func (c *current) onDocumentFragment1303() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1303() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1303() +} + +func (c *current) onDocumentFragment1317() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1317() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1317() +} + +func (c *current) onDocumentFragment1320() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1320() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1320() +} + +func (c *current) onDocumentFragment1311() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonDocumentFragment1311() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1311() +} + +func (c *current) onDocumentFragment1234(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + +} + +func (p *parser) callonDocumentFragment1234() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1234(stack["cells"]) +} + +func (c *current) onDocumentFragment1331() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1331() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1331() +} + +func (c *current) onDocumentFragment1334() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1334() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1334() +} + +func (c *current) onDocumentFragment1059(header, rows interface{}) (interface{}, error) { + return types.NewTable(header, rows.([]interface{})) + +} + +func (p *parser) callonDocumentFragment1059() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1059(stack["header"], stack["rows"]) +} + +func (c *current) onDocumentFragment1349() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1349() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1349() +} + +func (c *current) onDocumentFragment1353() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1353() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1353() +} + +func (c *current) onDocumentFragment1343(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonDocumentFragment1343() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1343(stack["content"]) +} + +func (c *current) onDocumentFragment1364() (interface{}, error) { + return types.Tip, nil +} + +func (p *parser) callonDocumentFragment1364() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1364() +} + +func (c *current) onDocumentFragment1366() (interface{}, error) { + return types.Note, nil +} + +func (p *parser) callonDocumentFragment1366() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1366() +} + +func (c *current) onDocumentFragment1368() (interface{}, error) { + return types.Important, nil +} + +func (p *parser) callonDocumentFragment1368() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1368() +} + +func (c *current) onDocumentFragment1370() (interface{}, error) { + return types.Warning, nil +} + +func (p *parser) callonDocumentFragment1370() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1370() +} + +func (c *current) onDocumentFragment1372() (interface{}, error) { + return types.Caution, nil +} + +func (p *parser) callonDocumentFragment1372() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1372() +} + +func (c *current) onDocumentFragment1379() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonDocumentFragment1379() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1379() +} + +func (c *current) onDocumentFragment1382(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonDocumentFragment1382() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1382(stack["content"]) +} + +func (c *current) onDocumentFragment1384() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1384() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1384() +} + +func (c *current) onDocumentFragment1376(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment1376() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1376(stack["content"]) +} + +func (c *current) onDocumentFragment1399() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1399() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1399() +} + +func (c *current) onDocumentFragment1401() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1401() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1401() +} + +func (c *current) onDocumentFragment1414() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1414() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1414() +} + +func (c *current) onDocumentFragment1418() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1418() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1418() +} + +func (c *current) onDocumentFragment1408(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonDocumentFragment1408() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1408(stack["content"]) +} + +func (c *current) onDocumentFragment1428() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonDocumentFragment1428() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1428() +} + +func (c *current) onDocumentFragment1431(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonDocumentFragment1431() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1431(stack["content"]) +} + +func (c *current) onDocumentFragment1433() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1433() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1433() +} + +func (c *current) onDocumentFragment1425(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment1425() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1425(stack["content"]) +} + +func (c *current) onDocumentFragment1393(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentFragment1393() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1393(stack["line"]) +} + +func (c *current) onDocumentFragment1360(kind, firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) + +} + +func (p *parser) callonDocumentFragment1360() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1360(stack["kind"], stack["firstLine"], stack["otherLines"]) +} + +func (c *current) onDocumentFragment1448() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1448() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1448() +} + +func (c *current) onDocumentFragment1446() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1446() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1446() +} + +func (c *current) onDocumentFragment1453(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil + +} + +func (p *parser) callonDocumentFragment1453() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1453(stack["content"]) +} + +func (c *current) onDocumentFragment1455() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1455() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1455() +} + +func (c *current) onDocumentFragment1443(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment1443() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1443(stack["content"]) +} + +func (c *current) onDocumentFragment1471() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1471() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1471() +} + +func (c *current) onDocumentFragment1475() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +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) callonDocumentFragment1465() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1465(stack["content"]) +} + +func (c *current) onDocumentFragment1485() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonDocumentFragment1485() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1485() +} + +func (c *current) onDocumentFragment1488(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonDocumentFragment1488() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1488(stack["content"]) +} + +func (c *current) onDocumentFragment1490() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1490() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1490() +} + +func (c *current) onDocumentFragment1482(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment1482() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1482(stack["content"]) +} + +func (c *current) onDocumentFragment1440(firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + +} + +func (p *parser) callonDocumentFragment1440() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1440(stack["firstLine"], stack["otherLines"]) +} + +func (c *current) onDocumentFragment1499() (bool, error) { + return c.isFrontMatterAllowed(), nil + +} + +func (p *parser) callonDocumentFragment1499() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1499() +} + +func (c *current) onDocumentFragment1505() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1505() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1505() +} + +func (c *current) onDocumentFragment1508() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1508() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1508() +} + +func (c *current) onDocumentFragment1525() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1525() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1525() +} + +func (c *current) onDocumentFragment1528() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1528() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1528() +} + +func (c *current) onDocumentFragment1517() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1517() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1517() +} + +func (c *current) onDocumentFragment1538() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentFragment1538() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1538() +} + +func (c *current) onDocumentFragment1541() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1541() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1541() +} + +func (c *current) onDocumentFragment1501(content interface{}) (interface{}, error) { + return types.NewYamlFrontMatter(content.(string)) +} + +func (p *parser) callonDocumentFragment1501() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1501(stack["content"]) +} + +func (c *current) onDocumentFragment1497(frontmatter interface{}) (interface{}, error) { + return frontmatter, nil + +} + +func (p *parser) callonDocumentFragment1497() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1497(stack["frontmatter"]) +} + +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) callonDocumentFragment1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) +} + +func (c *current) onDelimitedBlockElements10() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDelimitedBlockElements10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDelimitedBlockElements10() +} + +func (c *current) onDelimitedBlockElements6(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDelimitedBlockElements6(stack["ref"]) +} + +func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { + return elements, nil + +} + +func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDelimitedBlockElements1(stack["elements"]) +} + +func (c *current) onAttributeDeclaration5() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclaration5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclaration5() +} + +func (c *current) onAttributeDeclaration15() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclaration15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclaration15() +} + +func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { + return value, nil + +} + +func (p *parser) callonAttributeDeclaration13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclaration13(stack["value"]) +} + +func (c *current) onAttributeDeclaration21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonAttributeDeclaration21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclaration21() +} + +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) callonAttributeDeclaration1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) +} + +func (c *current) onAttributeDeclarationValue14() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue14() +} + +func (c *current) onAttributeDeclarationValue17() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonAttributeDeclarationValue17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue17() +} + +func (c *current) onAttributeDeclarationValue26() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonAttributeDeclarationValue26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue26() +} + +func (c *current) onAttributeDeclarationValue29() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue29() +} + +func (c *current) onAttributeDeclarationValue33() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonAttributeDeclarationValue33() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue33() +} + +func (c *current) onAttributeDeclarationValue40() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue40() +} + +func (c *current) onAttributeDeclarationValue52() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue52() +} + +func (c *current) onAttributeDeclarationValue54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue54() +} + +func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue47(stack["start"]) +} + +func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) +} + +func (c *current) onAttributeDeclarationValue62() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue62() +} + +func (c *current) onAttributeDeclarationValue74() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue74() +} + +func (c *current) onAttributeDeclarationValue76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue76() +} + +func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue69(stack["start"]) +} + +func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) +} + +func (c *current) onAttributeDeclarationValue84() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue84() +} + +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) callonAttributeDeclarationValue80() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue80(stack["name"]) +} + +func (c *current) onAttributeDeclarationValue94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue94() +} + +func (c *current) onAttributeDeclarationValue90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue90(stack["name"]) +} + +func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue31(stack["element"]) +} + +func (c *current) onAttributeDeclarationValue100() (interface{}, error) { + // standalone '{' + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonAttributeDeclarationValue100() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue100() +} + +func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { + + return element, nil + +} + +func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue7(stack["element"]) +} + +func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { + return elements.([]interface{}), nil + +} + +func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue4(stack["elements"]) +} + +func (c *current) onAttributeDeclarationValue107() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonAttributeDeclarationValue107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue107() +} + +func (c *current) onAttributeDeclarationValue113() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeDeclarationValue113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue113() +} + +func (c *current) onAttributeDeclarationValue104(elements interface{}) (interface{}, error) { + return elements, nil + +} + +func (p *parser) callonAttributeDeclarationValue104() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue104(stack["elements"]) +} + +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) callonAttributeDeclarationValue1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) +} + +func (c *current) onBlockAttributes16() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonBlockAttributes16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes16() +} + +func (c *current) onBlockAttributes23() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes23() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes23() +} + +func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonBlockAttributes19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes19(stack["ref"]) +} + +func (c *current) onBlockAttributes29() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonBlockAttributes29() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes29() +} + +func (c *current) onBlockAttributes36() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes36() +} + +func (c *current) onBlockAttributes48() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes48() +} + +func (c *current) onBlockAttributes50() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonBlockAttributes50() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes50() +} + +func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonBlockAttributes43() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes43(stack["start"]) +} + +func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonBlockAttributes32() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes32(stack["name"], stack["start"]) +} + +func (c *current) onBlockAttributes58() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes58() +} + +func (c *current) onBlockAttributes70() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes70() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes70() +} + +func (c *current) onBlockAttributes72() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonBlockAttributes72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes72() +} + +func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonBlockAttributes65() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes65(stack["start"]) +} + +func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonBlockAttributes54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes54(stack["name"], stack["start"]) +} + +func (c *current) onBlockAttributes80() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes80() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes80() +} + +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 (p *parser) callonBlockAttributes76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes76(stack["name"]) +} + +func (c *current) onBlockAttributes90() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes90() +} + +func (c *current) onBlockAttributes86(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonBlockAttributes86() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes86(stack["name"]) +} + +func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonBlockAttributes27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes27(stack["element"]) +} + +func (c *current) onBlockAttributes96() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +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.onBlockAttributes100() +} + +func (c *current) onBlockAttributes103() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes103() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes103() +} + +func (c *current) onBlockAttributes117() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes117() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes117() +} + +func (c *current) onBlockAttributes120() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes120() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes120() +} + +func (c *current) onBlockAttributes111() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonBlockAttributes111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes111() +} + +func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { + return anchor, nil + +} + +func (p *parser) callonBlockAttributes5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes5(stack["anchor"]) +} + +func (c *current) onBlockAttributes143() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes143() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes143() +} + +func (c *current) onBlockAttributes148() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes148() +} + +func (c *current) onBlockAttributes138() (interface{}, error) { + // TODO: also allow trailing quotes/quotation marks? + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonBlockAttributes138() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes138() +} + +func (c *current) onBlockAttributes155() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes155() +} + +func (c *current) onBlockAttributes161() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes161() +} + +func (c *current) onBlockAttributes157(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) callonBlockAttributes157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes157(stack["name"]) +} + +func (c *current) onBlockAttributes171() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes171() +} + +func (c *current) onBlockAttributes167(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonBlockAttributes167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes167(stack["name"]) +} + +func (c *current) onBlockAttributes177() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes177() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes177() +} + +func (c *current) onBlockAttributes130(elements interface{}) (interface{}, error) { + return types.NewTitleAttribute(types.Reduce(elements, strings.TrimSpace)) + +} + +func (p *parser) callonBlockAttributes130() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes130(stack["elements"]) +} + +func (c *current) onBlockAttributes180() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes180() +} + +func (c *current) onBlockAttributes183() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes183() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes183() +} + +func (c *current) onBlockAttributes197() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes197() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes197() +} + +func (c *current) onBlockAttributes200() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes200() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes200() +} + +func (c *current) onBlockAttributes191() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonBlockAttributes191() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes191() +} + +func (c *current) onBlockAttributes127(title interface{}) (interface{}, error) { + return title, nil + +} + +func (p *parser) callonBlockAttributes127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes127(stack["title"]) +} + +func (c *current) onBlockAttributes212() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes212() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes212() +} + +func (c *current) onBlockAttributes215() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes215() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes215() +} + +func (c *current) onBlockAttributes229() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonBlockAttributes229() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes229() +} + +func (c *current) onBlockAttributes232() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonBlockAttributes232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes232() +} + +func (c *current) onBlockAttributes223() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonBlockAttributes223() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes223() +} + +func (c *current) onBlockAttributes207(attributes interface{}) (interface{}, error) { + return attributes, nil + +} + +func (p *parser) callonBlockAttributes207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes207(stack["attributes"]) +} + +func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { + // c.unsetCurrentSubstitution() + return types.MergeAttributes(attributes.([]interface{})...) + +} + +func (p *parser) callonBlockAttributes1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes1(stack["attributes"]) +} + +func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { + return attribute, nil + +} + +func (p *parser) callonInlineAttributes6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineAttributes6(stack["attribute"]) +} + +func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { + return types.NewAttributes(attributes.([]interface{})...) + +} + +func (p *parser) callonInlineAttributes1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineAttributes1(stack["attributes"]) +} + +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) callonLongHandAttributes1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) +} + +func (c *current) onFirstPositionalAttributes8(extra interface{}) (interface{}, error) { + return extra, nil + +} + +func (p *parser) callonFirstPositionalAttributes8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFirstPositionalAttributes8(stack["extra"]) +} + +func (c *current) onFirstPositionalAttributes23() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFirstPositionalAttributes23() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFirstPositionalAttributes23() +} + +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) callonFirstPositionalAttributes25() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFirstPositionalAttributes25(stack["main"], stack["extras"]) +} + +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) callonFirstPositionalAttributes1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFirstPositionalAttributes1(stack["main"], stack["extras"]) +} + +func (c *current) onShortHandIDAttribute1(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) + +} + +func (p *parser) callonShortHandIDAttribute1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandIDAttribute1(stack["id"]) +} + +func (c *current) onShortHandAttribute1(value interface{}) (interface{}, error) { + return types.NewPositionalAttribute(value) + +} + +func (p *parser) callonShortHandAttribute1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttribute1(stack["value"]) +} + +func (c *current) onShortHandDotRoleAttribute1(role interface{}) (interface{}, error) { + return types.NewRoleAttribute(role) + +} + +func (p *parser) callonShortHandDotRoleAttribute1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandDotRoleAttribute1(stack["role"]) +} + +func (c *current) onShortHandOptionAttribute1(option interface{}) (interface{}, error) { + return types.NewOptionAttribute(option) + +} + +func (p *parser) callonShortHandOptionAttribute1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandOptionAttribute1(stack["option"]) +} + +func (c *current) onShortHandAttributeValue9() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonShortHandAttributeValue9() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue9() +} + +func (c *current) onShortHandAttributeValue11() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonShortHandAttributeValue11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue11() +} + +func (c *current) onShortHandAttributeValue13() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonShortHandAttributeValue13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue13() +} + +func (c *current) onShortHandAttributeValue15() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonShortHandAttributeValue15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue15() +} + +func (c *current) onShortHandAttributeValue17() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonShortHandAttributeValue17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue17() +} + +func (c *current) onShortHandAttributeValue22() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonShortHandAttributeValue22() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue22() +} + +func (c *current) onShortHandAttributeValue29() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortHandAttributeValue29() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue29() +} + +func (c *current) onShortHandAttributeValue41() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortHandAttributeValue41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue41() +} + +func (c *current) onShortHandAttributeValue43() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonShortHandAttributeValue43() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue43() +} + +func (c *current) onShortHandAttributeValue36(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonShortHandAttributeValue36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue36(stack["start"]) +} + +func (c *current) onShortHandAttributeValue25(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonShortHandAttributeValue25() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue25(stack["name"], stack["start"]) +} + +func (c *current) onShortHandAttributeValue51() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortHandAttributeValue51() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue51() +} + +func (c *current) onShortHandAttributeValue63() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortHandAttributeValue63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue63() +} + +func (c *current) onShortHandAttributeValue65() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonShortHandAttributeValue65() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue65() +} + +func (c *current) onShortHandAttributeValue58(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonShortHandAttributeValue58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue58(stack["start"]) +} + +func (c *current) onShortHandAttributeValue47(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonShortHandAttributeValue47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue47(stack["name"], stack["start"]) +} + +func (c *current) onShortHandAttributeValue73() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortHandAttributeValue73() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue73() +} + +func (c *current) onShortHandAttributeValue69(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) callonShortHandAttributeValue69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue69(stack["name"]) +} + +func (c *current) onShortHandAttributeValue83() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortHandAttributeValue83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue83() +} + +func (c *current) onShortHandAttributeValue79(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonShortHandAttributeValue79() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue79(stack["name"]) +} + +func (c *current) onShortHandAttributeValue20(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonShortHandAttributeValue20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue20(stack["element"]) +} + +func (c *current) onShortHandAttributeValue89() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonShortHandAttributeValue89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue89() +} + +func (c *current) onShortHandAttributeValue95() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortHandAttributeValue95() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue95() +} + +func (c *current) onShortHandAttributeValue4(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil + +} + +func (p *parser) callonShortHandAttributeValue4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue4(stack["elements"]) +} + +func (c *current) onPositionalAttribute11() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonPositionalAttribute11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPositionalAttribute11() +} + +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) callonPositionalAttribute2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPositionalAttribute2(stack["value"]) +} + +func (c *current) onPositionalAttribute20() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonPositionalAttribute20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPositionalAttribute20() +} + +func (c *current) onPositionalAttribute26() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonPositionalAttribute26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPositionalAttribute26() +} + +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) callonPositionalAttribute30() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPositionalAttribute30(stack["value"]) +} + +func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { + + return types.NewPositionalAttribute(nil) + +} + +func (p *parser) callonPositionalAttribute15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPositionalAttribute15(stack["value"]) +} + +func (c *current) onNamedAttribute7() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonNamedAttribute7() (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 + +} + +func (p *parser) callonNamedAttribute12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onNamedAttribute12() +} + +func (c *current) onNamedAttribute4() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + +} + +func (p *parser) callonNamedAttribute4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onNamedAttribute4() +} + +func (c *current) onNamedAttribute16() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonNamedAttribute16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onNamedAttribute16() +} + +func (c *current) onNamedAttribute24() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonNamedAttribute24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onNamedAttribute24() +} + +func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { + return types.NewNamedAttribute(key.(string), value) + +} + +func (p *parser) callonNamedAttribute1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onNamedAttribute1(stack["key"], stack["value"]) +} + +func (c *current) onAttributeValue12() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonAttributeValue12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeValue12() +} + +func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { + return value, nil + +} + +func (p *parser) callonAttributeValue1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeValue1(stack["value"]) +} + +func (c *current) onSingleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil + +} + +func (p *parser) callonSingleQuotedAttributeValue1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValue1(stack["content"]) +} + +func (c *current) onSingleQuotedAttributeValueContent5() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent5() +} + +func (c *current) onSingleQuotedAttributeValueContent8() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent8() +} + +func (c *current) onSingleQuotedAttributeValueContent11() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuotedAttributeValueContent11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent11() +} + +func (c *current) onSingleQuotedAttributeValueContent13() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuotedAttributeValueContent13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent13() +} + +func (c *current) onSingleQuotedAttributeValueContent15() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuotedAttributeValueContent15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent15() +} + +func (c *current) onSingleQuotedAttributeValueContent17() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonSingleQuotedAttributeValueContent17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent17() +} + +func (c *current) onSingleQuotedAttributeValueContent21() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent21() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent21() +} + +func (c *current) onSingleQuotedAttributeValueContent28() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent28() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent28() +} + +func (c *current) onSingleQuotedAttributeValueContent40() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent40() +} + +func (c *current) onSingleQuotedAttributeValueContent42() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSingleQuotedAttributeValueContent42() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent42() +} + +func (c *current) onSingleQuotedAttributeValueContent35(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent35() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent35(stack["start"]) +} + +func (c *current) onSingleQuotedAttributeValueContent24(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonSingleQuotedAttributeValueContent24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent24(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuotedAttributeValueContent50() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent50() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent50() +} + +func (c *current) onSingleQuotedAttributeValueContent62() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent62() +} + +func (c *current) onSingleQuotedAttributeValueContent64() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSingleQuotedAttributeValueContent64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent64() +} + +func (c *current) onSingleQuotedAttributeValueContent57(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent57() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent57(stack["start"]) +} + +func (c *current) onSingleQuotedAttributeValueContent46(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonSingleQuotedAttributeValueContent46() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent46(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuotedAttributeValueContent72() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent72() +} + +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) callonSingleQuotedAttributeValueContent68() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent68(stack["name"]) +} + +func (c *current) onSingleQuotedAttributeValueContent82() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent82() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent82() +} + +func (c *current) onSingleQuotedAttributeValueContent78(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuotedAttributeValueContent78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent78(stack["name"]) +} + +func (c *current) onSingleQuotedAttributeValueContent19(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent19(stack["element"]) +} + +func (c *current) onSingleQuotedAttributeValueContent88() (interface{}, error) { + + return types.NewStringElement(`'`) // escaped single quote + +} + +func (p *parser) callonSingleQuotedAttributeValueContent88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent88() +} + +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) callonSingleQuotedAttributeValueContent92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent92() +} + +func (c *current) onSingleQuotedAttributeValueContent94() (interface{}, error) { + // = and , signs are allowed within '' quoted values + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuotedAttributeValueContent94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent94() +} + +func (c *current) onSingleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil + +} + +func (p *parser) callonSingleQuotedAttributeValueContent1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedAttributeValueContent1(stack["elements"]) +} + +func (c *current) onDoubleQuotedAttributeValue13() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValue13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValue13() +} + +func (c *current) onDoubleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil + +} + +func (p *parser) callonDoubleQuotedAttributeValue1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValue1(stack["content"]) +} + +func (c *current) onDoubleQuotedAttributeValueContent5() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent5() +} + +func (c *current) onDoubleQuotedAttributeValueContent8() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent8() +} + +func (c *current) onDoubleQuotedAttributeValueContent11() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent11() +} + +func (c *current) onDoubleQuotedAttributeValueContent13() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent13() +} + +func (c *current) onDoubleQuotedAttributeValueContent15() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent15() +} + +func (c *current) onDoubleQuotedAttributeValueContent17() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent17() +} + +func (c *current) onDoubleQuotedAttributeValueContent21() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent21() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent21() +} + +func (c *current) onDoubleQuotedAttributeValueContent28() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent28() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent28() +} + +func (c *current) onDoubleQuotedAttributeValueContent40() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent40() +} + +func (c *current) onDoubleQuotedAttributeValueContent42() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent42() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent42() +} + +func (c *current) onDoubleQuotedAttributeValueContent35(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent35() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent35(stack["start"]) +} + +func (c *current) onDoubleQuotedAttributeValueContent24(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonDoubleQuotedAttributeValueContent24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent24(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuotedAttributeValueContent50() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent50() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent50() +} + +func (c *current) onDoubleQuotedAttributeValueContent62() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent62() +} + +func (c *current) onDoubleQuotedAttributeValueContent64() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent64() +} + +func (c *current) onDoubleQuotedAttributeValueContent57(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent57() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent57(stack["start"]) +} + +func (c *current) onDoubleQuotedAttributeValueContent46(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonDoubleQuotedAttributeValueContent46() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent46(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuotedAttributeValueContent72() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent72() +} + +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) callonDoubleQuotedAttributeValueContent68() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent68(stack["name"]) +} + +func (c *current) onDoubleQuotedAttributeValueContent82() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent82() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent82() +} + +func (c *current) onDoubleQuotedAttributeValueContent78(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent78(stack["name"]) +} + +func (c *current) onDoubleQuotedAttributeValueContent19(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent19(stack["element"]) +} + +func (c *current) onDoubleQuotedAttributeValueContent88() (interface{}, error) { + + return types.NewStringElement(`"`) // escaped double quote + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent88() +} + +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) callonDoubleQuotedAttributeValueContent93() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent93() +} + +func (c *current) onDoubleQuotedAttributeValueContent95() (interface{}, error) { + // = and , signs are allowed within " quoted values + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent95() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent95() +} + +func (c *current) onDoubleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil + +} + +func (p *parser) callonDoubleQuotedAttributeValueContent1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent1(stack["elements"]) +} + +func (c *current) onUnquotedAttributeValue4() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue4() +} + +func (c *current) onUnquotedAttributeValue13() (interface{}, error) { + // not within brackets and stop on space and quotation marks (`"') + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue13() +} + +func (c *current) onUnquotedAttributeValue16() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue16() +} + +func (c *current) onUnquotedAttributeValue20() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonUnquotedAttributeValue20() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue20() +} + +func (c *current) onUnquotedAttributeValue27() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue27() +} + +func (c *current) onUnquotedAttributeValue39() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue39() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue39() +} + +func (c *current) onUnquotedAttributeValue41() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonUnquotedAttributeValue41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue41() +} + +func (c *current) onUnquotedAttributeValue34(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonUnquotedAttributeValue34() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue34(stack["start"]) +} + +func (c *current) onUnquotedAttributeValue23(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonUnquotedAttributeValue23() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue23(stack["name"], stack["start"]) +} + +func (c *current) onUnquotedAttributeValue49() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue49() +} + +func (c *current) onUnquotedAttributeValue61() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue61() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue61() +} + +func (c *current) onUnquotedAttributeValue63() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonUnquotedAttributeValue63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue63() +} + +func (c *current) onUnquotedAttributeValue56(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonUnquotedAttributeValue56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue56(stack["start"]) +} + +func (c *current) onUnquotedAttributeValue45(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonUnquotedAttributeValue45() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue45(stack["name"], stack["start"]) +} + +func (c *current) onUnquotedAttributeValue71() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue71() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue71() +} + +func (c *current) onUnquotedAttributeValue67(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) callonUnquotedAttributeValue67() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue67(stack["name"]) +} + +func (c *current) onUnquotedAttributeValue81() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue81() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue81() +} + +func (c *current) onUnquotedAttributeValue77(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonUnquotedAttributeValue77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue77(stack["name"]) +} + +func (c *current) onUnquotedAttributeValue18(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonUnquotedAttributeValue18() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue18(stack["element"]) +} + +func (c *current) onUnquotedAttributeValue87() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonUnquotedAttributeValue87() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue87() +} + +func (c *current) onUnquotedAttributeValue89() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonUnquotedAttributeValue89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue89() +} + +func (c *current) onUnquotedAttributeValue91() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonUnquotedAttributeValue91() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue91() +} + +func (c *current) onUnquotedAttributeValue93() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonUnquotedAttributeValue93() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue93() +} + +func (c *current) onUnquotedAttributeValue95() (interface{}, error) { + // standalone characters not used in quotation marks + return string(c.text), nil + +} + +func (p *parser) callonUnquotedAttributeValue95() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue95() +} + +func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil + +} + +func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue1(stack["elements"]) +} + +func (c *current) onCrossReference6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonCrossReference6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference6() +} + +func (c *current) onCrossReference10() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonCrossReference10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference10() +} + +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) callonCrossReference16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference16() +} + +func (c *current) onCrossReference25() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonCrossReference25() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference25() +} + +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) callonCrossReference21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference21(stack["name"]) +} + +func (c *current) onCrossReference35() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonCrossReference35() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference35() +} + +func (c *current) onCrossReference31(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonCrossReference31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference31(stack["name"]) +} + +func (c *current) onCrossReference41() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonCrossReference41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference41() +} + +func (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonCrossReference2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference2(stack["id"], stack["label"]) +} + +func (c *current) onCrossReference48() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonCrossReference48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference48() +} + +func (c *current) onCrossReference44(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonCrossReference44() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCrossReference44(stack["id"]) +} + +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) callonExternalCrossReference16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference16() +} + +func (c *current) onExternalCrossReference20() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonExternalCrossReference20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference20() +} + +func (c *current) onExternalCrossReference27() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference27() +} + +func (c *current) onExternalCrossReference31() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonExternalCrossReference31() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference31() +} + +func (c *current) onExternalCrossReference38() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference38() +} + +func (c *current) onExternalCrossReference50() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference50() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference50() +} + +func (c *current) onExternalCrossReference52() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonExternalCrossReference52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference52() +} + +func (c *current) onExternalCrossReference45(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalCrossReference45() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference45(stack["start"]) +} + +func (c *current) onExternalCrossReference34(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonExternalCrossReference34() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference34(stack["name"], stack["start"]) +} + +func (c *current) onExternalCrossReference60() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference60() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference60() +} + +func (c *current) onExternalCrossReference72() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference72() +} + +func (c *current) onExternalCrossReference74() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonExternalCrossReference74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference74() +} + +func (c *current) onExternalCrossReference67(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalCrossReference67() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference67(stack["start"]) +} + +func (c *current) onExternalCrossReference56(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonExternalCrossReference56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference56(stack["name"], stack["start"]) +} + +func (c *current) onExternalCrossReference82() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference82() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference82() +} + +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) callonExternalCrossReference78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference78(stack["name"]) +} + +func (c *current) onExternalCrossReference92() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference92() +} + +func (c *current) onExternalCrossReference88(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonExternalCrossReference88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference88(stack["name"]) +} + +func (c *current) onExternalCrossReference29(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExternalCrossReference29() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference29(stack["element"]) +} + +func (c *current) onExternalCrossReference100() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonExternalCrossReference100() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference100() +} + +func (c *current) onExternalCrossReference109() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference109() +} + +func (c *current) onExternalCrossReference113() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference113() +} + +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) callonExternalCrossReference119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference119() +} + +func (c *current) onExternalCrossReference128() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference128() +} + +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) callonExternalCrossReference124() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference124(stack["name"]) +} + +func (c *current) onExternalCrossReference138() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference138() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference138() +} + +func (c *current) onExternalCrossReference134(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonExternalCrossReference134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference134(stack["name"]) +} + +func (c *current) onExternalCrossReference144() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalCrossReference144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference144() +} + +func (c *current) onExternalCrossReference105(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonExternalCrossReference105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference105(stack["id"], stack["label"]) +} + +func (c *current) onExternalCrossReference151() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference151() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference151() +} + +func (c *current) onExternalCrossReference147(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonExternalCrossReference147() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference147(stack["id"]) +} + +func (c *current) onExternalCrossReference103() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalCrossReference103() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference103() +} + +func (c *current) onExternalCrossReference155() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonExternalCrossReference155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference155() +} + +func (c *current) onExternalCrossReference98(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExternalCrossReference98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference98(stack["element"]) +} + +func (c *current) onExternalCrossReference157() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalCrossReference157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference157() +} + +func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonExternalCrossReference9() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference9(stack["elements"]) +} + +func (c *current) onExternalCrossReference163() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonExternalCrossReference163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference163() +} + +func (c *current) onExternalCrossReference159(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonExternalCrossReference159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference159(stack["ref"]) +} + +func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) + +} + +func (p *parser) callonExternalCrossReference5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference5(stack["path"]) +} + +func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { + return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) + +} + +func (p *parser) callonExternalCrossReference1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) +} + +func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onMarkdownQuoteAttribution5() +} + +func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onMarkdownQuoteAttribution9() +} + +func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { + return author, nil + +} + +func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onMarkdownQuoteAttribution1(stack["author"]) +} + +func (c *current) onDocumentHeader3() (bool, error) { + return c.isDocumentHeaderAllowed(), nil + +} + +func (p *parser) callonDocumentHeader3() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader3() +} + +func (c *current) onDocumentHeader14() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader14() +} + +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) callonDocumentHeader18() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader18() +} + +func (c *current) onDocumentHeader22() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader22() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader22() +} + +func (c *current) onDocumentHeader11(title interface{}) (interface{}, error) { + return title, nil + +} + +func (p *parser) callonDocumentHeader11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader11(stack["title"]) +} + +func (c *current) onDocumentHeader37() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader37() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader37() +} + +func (c *current) onDocumentHeader41() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader41() +} + +func (c *current) onDocumentHeader31(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonDocumentHeader31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader31(stack["content"]) +} + +func (c *current) onDocumentHeader53() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader53() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader53() +} + +func (c *current) onDocumentHeader59() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader59() +} + +func (c *current) onDocumentHeader62() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader62() +} + +func (c *current) onDocumentHeader50(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeader50() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader50(stack["delimiter"]) +} + +func (c *current) onDocumentHeader78() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader78() +} + +func (c *current) onDocumentHeader84() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader84() +} + +func (c *current) onDocumentHeader87() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader87() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader87() +} + +func (c *current) onDocumentHeader75(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeader75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader75(stack["delimiter"]) +} + +func (c *current) onDocumentHeader103() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader103() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader103() +} + +func (c *current) onDocumentHeader107() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader107() +} + +func (c *current) onDocumentHeader97(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentHeader97() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader97(stack["content"]) +} + +func (c *current) onDocumentHeader71(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentHeader71() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader71(stack["line"]) +} + +func (c *current) onDocumentHeader119() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader119() +} + +func (c *current) onDocumentHeader125() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader125() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader125() +} + +func (c *current) onDocumentHeader128() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader128() +} + +func (c *current) onDocumentHeader116(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeader116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader116(stack["delimiter"]) +} + +func (c *current) onDocumentHeader48(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) + +} + +func (p *parser) callonDocumentHeader48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader48(stack["delimiter"], stack["content"]) +} + +func (c *current) onDocumentHeader145() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader145() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader145() +} + +func (c *current) onDocumentHeader162() (interface{}, error) { + // no space allowed + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader162() +} + +func (c *current) onDocumentHeader166() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader166() +} + +func (c *current) onDocumentHeader170() (interface{}, error) { + // no space allowed + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader170() +} + +func (c *current) onDocumentHeader174() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader174() +} + +func (c *current) onDocumentHeader178() (interface{}, error) { + // spaces allowed + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader178() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader178() +} + +func (c *current) onDocumentHeader182() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader182() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader182() +} + +func (c *current) onDocumentHeader159(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) + +} + +func (p *parser) callonDocumentHeader159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader159(stack["part1"], stack["part2"], stack["part3"]) +} + +func (c *current) onDocumentHeader193() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader193() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader193() +} + +func (c *current) onDocumentHeader186(email interface{}) (interface{}, error) { + return email, nil + +} + +func (p *parser) callonDocumentHeader186() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader186(stack["email"]) +} + +func (c *current) onDocumentHeader198() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader198() +} + +func (c *current) onDocumentHeader203() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader203() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader203() +} + +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) callonDocumentHeader205() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader205(stack["fullName"], stack["email"]) +} + +func (c *current) onDocumentHeader155(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) + +} + +func (p *parser) callonDocumentHeader155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader155(stack["fullName"], stack["email"]) +} + +func (c *current) onDocumentHeader149(authors interface{}) (interface{}, error) { + return types.NewDocumentAuthors(authors.([]interface{})...) +} + +func (p *parser) callonDocumentHeader149() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader149(stack["authors"]) +} + +func (c *current) onDocumentHeader210() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader210() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader210() +} + +func (c *current) onDocumentHeader220() (interface{}, error) { + // no space allowed + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader220() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader220() +} + +func (c *current) onDocumentHeader224() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader224() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader224() +} + +func (c *current) onDocumentHeader228() (interface{}, error) { + // no space allowed + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader228() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader228() +} + +func (c *current) onDocumentHeader232() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader232() +} + +func (c *current) onDocumentHeader236() (interface{}, error) { + // spaces allowed + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader236() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader236() +} + +func (c *current) onDocumentHeader240() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader240() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader240() +} + +func (c *current) onDocumentHeader217(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) + +} + +func (p *parser) callonDocumentHeader217() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader217(stack["part1"], stack["part2"], stack["part3"]) +} + +func (c *current) onDocumentHeader251() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader251() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader251() +} + +func (c *current) onDocumentHeader244(email interface{}) (interface{}, error) { + return email, nil + +} + +func (p *parser) callonDocumentHeader244() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader244(stack["email"]) +} + +func (c *current) onDocumentHeader256() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader256() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader256() +} + +func (c *current) onDocumentHeader261() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader261() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader261() +} + +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) callonDocumentHeader263() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader263(stack["fullName"], stack["email"]) +} + +func (c *current) onDocumentHeader213(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) + +} + +func (p *parser) callonDocumentHeader213() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader213(stack["fullName"], stack["email"]) +} + +func (c *current) onDocumentHeader206(author interface{}) (interface{}, error) { + return types.NewDocumentAuthors(author) +} + +func (p *parser) callonDocumentHeader206() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader206(stack["author"]) +} + +func (c *current) onDocumentHeader265() (interface{}, error) { + // TODO: just use "\n" + 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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader142(stack["authors"]) +} + +func (c *current) onDocumentHeader280() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader280() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader280() +} + +func (c *current) onDocumentHeader284() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader284() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader284() +} + +func (c *current) onDocumentHeader274(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonDocumentHeader274() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader274(stack["content"]) +} + +func (c *current) onDocumentHeader296() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader296() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader296() +} + +func (c *current) onDocumentHeader302() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader302() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader302() +} + +func (c *current) onDocumentHeader305() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader305() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader305() +} + +func (c *current) onDocumentHeader293(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeader293() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader293(stack["delimiter"]) +} + +func (c *current) onDocumentHeader321() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader321() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader321() +} + +func (c *current) onDocumentHeader327() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader327() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader327() +} + +func (c *current) onDocumentHeader330() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader330() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader330() +} + +func (c *current) onDocumentHeader318(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeader318() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader318(stack["delimiter"]) +} + +func (c *current) onDocumentHeader346() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader346() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader346() +} + +func (c *current) onDocumentHeader350() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader350() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader350() +} + +func (c *current) onDocumentHeader340(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentHeader340() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader340(stack["content"]) +} + +func (c *current) onDocumentHeader314(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentHeader314() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader314(stack["line"]) +} + +func (c *current) onDocumentHeader362() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader362() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader362() +} + +func (c *current) onDocumentHeader368() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader368() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader368() +} + +func (c *current) onDocumentHeader371() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader371() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader371() +} + +func (c *current) onDocumentHeader359(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeader359() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader359(stack["delimiter"]) +} + +func (c *current) onDocumentHeader291(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) + +} + +func (p *parser) callonDocumentHeader291() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader291(stack["delimiter"], stack["content"]) +} + +func (c *current) onDocumentHeader385() (interface{}, error) { + 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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader395() +} + +func (c *current) onDocumentHeader409() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeader409() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader409() +} + +func (c *current) onDocumentHeader401() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader401() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader401() +} + +func (c *current) onDocumentHeader417() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader417() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader417() +} + +func (c *current) onDocumentHeader424() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader424() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader424() +} + +func (c *current) onDocumentHeader391(revnumber, revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(revnumber, revdate, revremark) + +} + +func (p *parser) callonDocumentHeader391() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader391(stack["revnumber"], stack["revdate"], stack["revremark"]) +} + +func (c *current) onDocumentHeader430() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader430() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader430() +} + +func (c *current) onDocumentHeader437() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader437() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader437() +} + +func (c *current) onDocumentHeader427(revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(nil, revdate, revremark) + +} + +func (p *parser) callonDocumentHeader427() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader427(stack["revdate"], stack["revremark"]) +} + +func (c *current) onDocumentHeader441() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader441() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader441() +} + +func (c *current) onDocumentHeader382(revision interface{}) (interface{}, error) { + return revision, nil +} + +func (p *parser) callonDocumentHeader382() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader382(stack["revision"]) +} + +func (c *current) onDocumentHeader139(authors, revision interface{}) (interface{}, error) { + return types.NewDocumentAuthorsAndRevision(authors.(types.DocumentAuthors), revision) + +} + +func (p *parser) callonDocumentHeader139() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader139(stack["authors"], stack["revision"]) +} + +func (c *current) onDocumentHeader8(title, authorsAndRevision interface{}) (interface{}, error) { + return types.NewDocumentInformation(title.([]interface{}), authorsAndRevision) + +} + +func (p *parser) callonDocumentHeader8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader8(stack["title"], stack["authorsAndRevision"]) +} + +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) callonDocumentHeader450() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader450(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) +} + +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) callonDocumentHeader1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader1(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) +} + +func (c *current) onDocumentHeaderAttributes8() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes8() +} + +func (c *current) onDocumentHeaderAttributes15() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes15() +} + +func (c *current) onDocumentHeaderAttributes18() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes18() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes18() +} + +func (c *current) onDocumentHeaderAttributes4(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentHeaderAttributes4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes4(stack["name"]) +} + +func (c *current) onDocumentHeaderAttributes29() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes29() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes29() +} + +func (c *current) onDocumentHeaderAttributes36() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes36() +} + +func (c *current) onDocumentHeaderAttributes39() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes39() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes39() +} + +func (c *current) onDocumentHeaderAttributes25(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentHeaderAttributes25() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes25(stack["name"]) +} + +func (c *current) onDocumentHeaderAttributes52() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes52() +} + +func (c *current) onDocumentHeaderAttributes56() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes56() +} + +func (c *current) onDocumentHeaderAttributes46(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonDocumentHeaderAttributes46() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes46(stack["content"]) +} + +func (c *current) onDocumentHeaderAttributes68() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes68() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes68() +} + +func (c *current) onDocumentHeaderAttributes74() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes74() +} + +func (c *current) onDocumentHeaderAttributes77() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes77() +} + +func (c *current) onDocumentHeaderAttributes65(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeaderAttributes65() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes65(stack["delimiter"]) +} + +func (c *current) onDocumentHeaderAttributes93() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes93() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes93() +} + +func (c *current) onDocumentHeaderAttributes99() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes99() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes99() +} + +func (c *current) onDocumentHeaderAttributes102() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes102() +} + +func (c *current) onDocumentHeaderAttributes90(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeaderAttributes90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes90(stack["delimiter"]) +} + +func (c *current) onDocumentHeaderAttributes118() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes118() +} + +func (c *current) onDocumentHeaderAttributes122() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes122() +} + +func (c *current) onDocumentHeaderAttributes112(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentHeaderAttributes112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes112(stack["content"]) +} + +func (c *current) onDocumentHeaderAttributes86(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonDocumentHeaderAttributes86() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes86(stack["line"]) +} + +func (c *current) onDocumentHeaderAttributes134() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes134() +} + +func (c *current) onDocumentHeaderAttributes140() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes140() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes140() +} + +func (c *current) onDocumentHeaderAttributes143() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes143() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes143() +} + +func (c *current) onDocumentHeaderAttributes131(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentHeaderAttributes131() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes131(stack["delimiter"]) +} + +func (c *current) onDocumentHeaderAttributes63(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) + +} + +func (p *parser) callonDocumentHeaderAttributes63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes63(stack["delimiter"], stack["content"]) +} + +func (c *current) onDocumentHeaderAttributes158() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentHeaderAttributes158() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes158() +} + +func (c *current) onDocumentHeaderAttributes161() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes161() +} + +func (c *current) onDocumentHeaderAttributes152() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonDocumentHeaderAttributes152() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes152() +} + +func (c *current) onInlineElement9() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement9() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement9() +} + +func (c *current) onInlineElement14() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonInlineElement14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement14() +} + +func (c *current) onInlineElement4() (interface{}, error) { + // TODO: also allow trailing quotes/quotation marks? + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonInlineElement4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement4() +} + +func (c *current) onInlineElement21() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonInlineElement21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement21() +} + +func (c *current) onInlineElement26() (bool, error) { + + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil + +} + +func (p *parser) callonInlineElement26() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement26() +} + +func (c *current) onInlineElement29() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement29() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement29() +} + +func (c *current) onInlineElement33() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonInlineElement33() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement33() +} + +func (c *current) onInlineElement24() (interface{}, error) { + return types.NewLineBreak() + +} + +func (p *parser) callonInlineElement24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement24() +} + +func (c *current) onInlineElement44() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonInlineElement44() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement44() +} + +func (c *current) onInlineElement46() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonInlineElement46() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement46() +} + +func (c *current) onInlineElement48() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonInlineElement48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement48() +} + +func (c *current) onInlineElement50() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonInlineElement50() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement50() +} + +func (c *current) onInlineElement52() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonInlineElement52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement52() +} + +func (c *current) onInlineElement54() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonInlineElement54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement54() +} + +func (c *current) onInlineElement56() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonInlineElement56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement56() +} + +func (c *current) onInlineElement58() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonInlineElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement58() +} + +func (c *current) onInlineElement60() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonInlineElement60() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement60() +} + +func (c *current) onInlineElement64() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonInlineElement64() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement64() +} + +func (c *current) onInlineElement67() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement67() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement67() +} + +func (c *current) onInlineElement71() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonInlineElement71() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement71() +} + +func (c *current) onInlineElement62() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonInlineElement62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement62() +} + +func (c *current) onInlineElement80() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonInlineElement80() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement80() +} + +func (c *current) onInlineElement85() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonInlineElement85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement85() +} + +func (c *current) onInlineElement78() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonInlineElement78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement78() +} + +func (c *current) onInlineElement92() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonInlineElement92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement92() +} + +func (c *current) onInlineElement94() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonInlineElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement94() +} + +func (c *current) onInlineElement96() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonInlineElement96() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement96() +} + +func (c *current) onInlineElement40() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonInlineElement40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement40() +} + +func (c *current) onInlineElement98() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonInlineElement98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement98() +} + +func (c *current) onInlineElement100() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonInlineElement100() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement100() +} + +func (c *current) onInlineElement102() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonInlineElement102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement102() +} + +func (c *current) onInlineElement104() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonInlineElement104() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement104() +} + +func (c *current) onInlineElement106() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonInlineElement106() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement106() +} + +func (c *current) onInlineElement108() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonInlineElement108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement108() +} + +func (c *current) onInlineElement110() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonInlineElement110() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement110() +} + +func (c *current) onInlineElement112() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonInlineElement112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement112() +} + +func (c *current) onInlineElement116() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonInlineElement116() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement116() +} + +func (c *current) onInlineElement119() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement119() +} + +func (c *current) onInlineElement123() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonInlineElement123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement123() +} + +func (c *current) onInlineElement114() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonInlineElement114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement114() +} + +func (c *current) onInlineElement132() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonInlineElement132() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement132() +} + +func (c *current) onInlineElement137() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonInlineElement137() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement137() +} + +func (c *current) onInlineElement130() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonInlineElement130() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement130() +} + +func (c *current) onInlineElement144() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonInlineElement144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement144() +} + +func (c *current) onInlineElement146() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonInlineElement146() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement146() +} + +func (c *current) onInlineElement148() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonInlineElement148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement148() +} + +func (c *current) onInlineElement150() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonInlineElement150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement150() +} + +func (c *current) onInlineElement152() (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) callonInlineElement152() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement152() +} + +func (c *current) onInlineElement158() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonInlineElement158() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement158() +} + +func (c *current) onInlineElement167() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonInlineElement167() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement167() +} + +func (c *current) onInlineElement174() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement174() +} + +func (c *current) onInlineElement186() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement186() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement186() +} + +func (c *current) onInlineElement188() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonInlineElement188() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement188() +} + +func (c *current) onInlineElement181(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonInlineElement181() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement181(stack["start"]) +} + +func (c *current) onInlineElement170(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonInlineElement170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement170(stack["name"], stack["start"]) +} + +func (c *current) onInlineElement196() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement196() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement196() +} + +func (c *current) onInlineElement208() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement208() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement208() +} + +func (c *current) onInlineElement210() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonInlineElement210() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement210() +} + +func (c *current) onInlineElement203(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonInlineElement203() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement203(stack["start"]) +} + +func (c *current) onInlineElement192(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonInlineElement192() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement192(stack["name"], stack["start"]) +} + +func (c *current) onInlineElement218() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement218() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement218() +} + +func (c *current) onInlineElement214(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) callonInlineElement214() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement214(stack["name"]) +} + +func (c *current) onInlineElement228() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement228() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement228() +} + +func (c *current) onInlineElement224(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonInlineElement224() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement224(stack["name"]) +} + +func (c *current) onInlineElement165(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonInlineElement165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement165(stack["element"]) +} + +func (c *current) onInlineElement237() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonInlineElement237() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement237() +} + +func (c *current) onInlineElement246() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonInlineElement246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement246() +} + +func (c *current) onInlineElement250() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement250() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement250() +} + +func (c *current) onInlineElement256() (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) callonInlineElement256() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement256() +} + +func (c *current) onInlineElement265() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement265() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement265() +} + +func (c *current) onInlineElement261(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) callonInlineElement261() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement261(stack["name"]) +} + +func (c *current) onInlineElement275() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineElement275() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement275() +} + +func (c *current) onInlineElement271(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonInlineElement271() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement271(stack["name"]) +} + +func (c *current) onInlineElement281() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonInlineElement281() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement281() +} + +func (c *current) onInlineElement242(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonInlineElement242() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement242(stack["id"], stack["label"]) +} + +func (c *current) onInlineElement288() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonInlineElement288() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement288() +} + +func (c *current) onInlineElement284(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonInlineElement284() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement284(stack["id"]) +} + +func (c *current) onInlineElement240() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonInlineElement240() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement240() +} + +func (c *current) onInlineElement292() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonInlineElement292() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement292() +} + +func (c *current) onInlineElement235(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonInlineElement235() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement235(stack["element"]) +} + +func (c *current) onInlineElement294() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonInlineElement294() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement294() +} + +func (c *current) onInlineElement1(element interface{}) (interface{}, error) { + c.trackSuffix(element) + return element, nil +} + +func (p *parser) callonInlineElement1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement1(stack["element"]) +} + +func (c *current) onInlineButton3() (bool, error) { + return c.isExperimentalEnabled(), nil + +} + +func (p *parser) callonInlineButton3() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineButton3() +} + +func (c *current) onInlineButton1(attributes interface{}) (interface{}, error) { + return types.NewInlineButton(attributes.(types.Attributes)) + +} + +func (p *parser) callonInlineButton1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineButton1(stack["attributes"]) +} + +func (c *current) onInlineMenu3() (bool, error) { + return c.isExperimentalEnabled(), nil + +} + +func (p *parser) callonInlineMenu3() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineMenu3() +} + +func (c *current) onInlineMenu6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonInlineMenu6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineMenu6() +} + +func (c *current) onInlineMenu1(id, attributes interface{}) (interface{}, error) { + return types.NewInlineMenu(id.(string), attributes.(types.Attributes)) + +} + +func (p *parser) callonInlineMenu1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineMenu1(stack["id"], stack["attributes"]) +} + +func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { + return types.NewIndexTerm(term.([]interface{})) + +} + +func (p *parser) callonIndexTerm1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTerm1(stack["term"]) +} + +func (c *current) onIndexTermContent5() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonIndexTermContent5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent5() +} + +func (c *current) onIndexTermContent14() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonIndexTermContent14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent14() +} + +func (c *current) onIndexTermContent24() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonIndexTermContent24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent24() +} + +func (c *current) onIndexTermContent28() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonIndexTermContent28() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent28() +} + +func (c *current) onIndexTermContent37() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonIndexTermContent37() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent37() +} + +func (c *current) onIndexTermContent41() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonIndexTermContent41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent41() +} + +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) callonIndexTermContent47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent47() +} + +func (c *current) onIndexTermContent56() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonIndexTermContent56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent56() +} + +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) callonIndexTermContent52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent52(stack["name"]) +} + +func (c *current) onIndexTermContent66() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonIndexTermContent66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent66() +} + +func (c *current) onIndexTermContent62(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonIndexTermContent62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent62(stack["name"]) +} + +func (c *current) onIndexTermContent72() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonIndexTermContent72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent72() +} + +func (c *current) onIndexTermContent33(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonIndexTermContent33() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent33(stack["id"], stack["label"]) +} + +func (c *current) onIndexTermContent79() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonIndexTermContent79() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent79() +} + +func (c *current) onIndexTermContent75(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonIndexTermContent75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent75(stack["id"]) +} + +func (c *current) onIndexTermContent31() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonIndexTermContent31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent31() +} + +func (c *current) onIndexTermContent83() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonIndexTermContent83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent83() +} + +func (c *current) onIndexTermContent26(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonIndexTermContent26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent26(stack["element"]) +} + +func (c *current) onIndexTermContent89() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonIndexTermContent89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent89() +} + +func (c *current) onIndexTermContent85(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonIndexTermContent85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent85(stack["ref"]) +} + +func (c *current) onIndexTermContent93() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonIndexTermContent93() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent93() +} + +func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) +} + +func (p *parser) callonIndexTermContent1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onIndexTermContent1(stack["elements"]) +} + +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) callonImageBlock25() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock25() +} + +func (c *current) onImageBlock29() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonImageBlock29() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock29() +} + +func (c *current) onImageBlock36() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock36() +} + +func (c *current) onImageBlock40() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonImageBlock40() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock40() +} + +func (c *current) onImageBlock47() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock47() +} + +func (c *current) onImageBlock59() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock59() +} + +func (c *current) onImageBlock61() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonImageBlock61() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock61() +} + +func (c *current) onImageBlock54(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonImageBlock54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock54(stack["start"]) +} + +func (c *current) onImageBlock43(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonImageBlock43() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock43(stack["name"], stack["start"]) +} + +func (c *current) onImageBlock69() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock69() +} + +func (c *current) onImageBlock81() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock81() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock81() +} + +func (c *current) onImageBlock83() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonImageBlock83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock83() +} + +func (c *current) onImageBlock76(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonImageBlock76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock76(stack["start"]) +} + +func (c *current) onImageBlock65(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonImageBlock65() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock65(stack["name"], stack["start"]) +} + +func (c *current) onImageBlock91() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock91() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock91() +} + +func (c *current) onImageBlock87(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) callonImageBlock87() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock87(stack["name"]) +} + +func (c *current) onImageBlock101() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock101() +} + +func (c *current) onImageBlock97(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonImageBlock97() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock97(stack["name"]) +} + +func (c *current) onImageBlock38(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonImageBlock38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock38(stack["element"]) +} + +func (c *current) onImageBlock109() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonImageBlock109() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock109() +} + +func (c *current) onImageBlock118() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonImageBlock118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock118() +} + +func (c *current) onImageBlock122() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock122() +} + +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) callonImageBlock128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock128() +} + +func (c *current) onImageBlock137() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock137() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock137() +} + +func (c *current) onImageBlock133(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) callonImageBlock133() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock133(stack["name"]) +} + +func (c *current) onImageBlock147() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonImageBlock147() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock147() +} + +func (c *current) onImageBlock143(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonImageBlock143() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock143(stack["name"]) +} + +func (c *current) onImageBlock153() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonImageBlock153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock153() +} + +func (c *current) onImageBlock114(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonImageBlock114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock114(stack["id"], stack["label"]) +} + +func (c *current) onImageBlock160() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonImageBlock160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock160() +} + +func (c *current) onImageBlock156(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonImageBlock156() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock156(stack["id"]) +} + +func (c *current) onImageBlock112() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonImageBlock112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock112() +} + +func (c *current) onImageBlock164() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonImageBlock164() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock164() +} + +func (c *current) onImageBlock107(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonImageBlock107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock107(stack["element"]) +} + +func (c *current) onImageBlock166() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonImageBlock166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock166() +} + +func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonImageBlock18() (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 +} + +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) callonImageBlock5() (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 + +} + +func (p *parser) callonImageBlock179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock179() +} + +func (c *current) onImageBlock182() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), 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) callonImageBlock1() (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)) + +} + +func (p *parser) callonInlineImage27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage27() +} + +func (c *current) onInlineImage31() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonInlineImage31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage31() +} + +func (c *current) onInlineImage38() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineImage38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage38() +} + +func (c *current) onInlineImage42() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonInlineImage42() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage42() +} + +func (c *current) onInlineImage49() (interface{}, error) { + return string(c.text), nil + +} + +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.onInlineImage67(stack["name"], stack["start"]) +} + +func (c *current) onInlineImage93() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineImage93() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage93() +} + +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 (p *parser) callonInlineImage89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage89(stack["name"]) +} + +func (c *current) onInlineImage103() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage99(stack["name"]) +} + +func (c *current) onInlineImage40(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonInlineImage40() (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 + +} + +func (p *parser) callonInlineImage111() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage111() +} + +func (c *current) onInlineImage120() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonInlineImage120() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage120() +} + +func (c *current) onInlineImage124() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineImage124() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage124() +} + +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) callonInlineImage130() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage130() +} + +func (c *current) onInlineImage139() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineImage139() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage139() +} + +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 (p *parser) callonInlineImage135() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage135(stack["name"]) +} + +func (c *current) onInlineImage149() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineImage149() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage149() +} + +func (c *current) onInlineImage145(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonInlineImage145() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage145(stack["name"]) +} + +func (c *current) onInlineImage155() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonInlineImage155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage155() +} + +func (c *current) onInlineImage116(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonInlineImage116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage116(stack["id"], stack["label"]) +} + +func (c *current) onInlineImage162() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonInlineImage162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage162() +} + +func (c *current) onInlineImage158(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonInlineImage158() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage158(stack["id"]) +} + +func (c *current) onInlineImage114() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonInlineImage114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage114() +} + +func (c *current) onInlineImage166() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonInlineImage166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage166() +} + +func (c *current) onInlineImage109(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonInlineImage109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage109(stack["element"]) +} + +func (c *current) onInlineImage168() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonInlineImage168() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage168() +} + +func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonInlineImage20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage20(stack["elements"]) +} + +func (c *current) onInlineImage174() (interface{}, error) { + return string(c.text), nil +} + +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) callonInlineImage170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage170(stack["ref"]) +} + +func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + +} + +func (p *parser) callonInlineImage7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage7(stack["scheme"], stack["path"]) +} + +func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { + return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) + +} + +func (p *parser) callonInlineImage1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage1(stack["path"], stack["attributes"]) +} + +func (c *current) onInlineIcon5() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonInlineIcon5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineIcon5() +} + +func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { + return types.NewIcon(icon.(string), attributes) + +} + +func (p *parser) callonInlineIcon1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) +} + +func (c *current) onInlineFootnote2(elements interface{}) (interface{}, error) { + return types.NewFootnote("", elements.([]interface{})) + +} + +func (p *parser) callonInlineFootnote2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineFootnote2(stack["elements"]) +} + +func (c *current) onInlineFootnote12() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineFootnote12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineFootnote12() +} + +func (c *current) onInlineFootnote8(ref, elements interface{}) (interface{}, error) { + // TODO: use only this rule with `ref:(FootnoteRef)?` + return types.NewFootnote(ref.(string), elements.([]interface{})) + +} + +func (p *parser) callonInlineFootnote8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineFootnote8(stack["ref"], stack["elements"]) +} + +func (c *current) onFootnoteElements1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonFootnoteElements1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFootnoteElements1(stack["elements"]) +} + +func (c *current) onFootnoteElement8() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonFootnoteElement8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFootnoteElement8() +} + +func (c *current) onFootnoteElement1(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonFootnoteElement1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFootnoteElement1(stack["element"]) +} + +func (c *current) onPassthroughMacro7() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonPassthroughMacro7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPassthroughMacro7() +} + +func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) + +} + +func (p *parser) callonPassthroughMacro2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPassthroughMacro2(stack["content"]) +} + +func (c *current) onPassthroughMacro17() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonPassthroughMacro17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPassthroughMacro17() +} + +func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) + +} + +func (p *parser) callonPassthroughMacro10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onPassthroughMacro10(stack["content"]) +} + +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) callonLink26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink26() +} + +func (c *current) onLink30() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonLink30() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink30() +} + +func (c *current) onLink37() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink37() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink37() +} + +func (c *current) onLink41() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonLink41() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink41() +} + +func (c *current) onLink48() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink48() +} + +func (c *current) onLink60() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink60() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink60() +} + +func (c *current) onLink62() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLink62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink62() +} + +func (c *current) onLink55(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonLink55() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink55(stack["start"]) +} + +func (c *current) onLink44(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonLink44() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink44(stack["name"], stack["start"]) +} + +func (c *current) onLink70() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink70() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink70() +} + +func (c *current) onLink82() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink82() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink82() +} + +func (c *current) onLink84() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonLink84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink84() +} + +func (c *current) onLink77(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonLink77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink77(stack["start"]) +} + +func (c *current) onLink66(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonLink66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink66(stack["name"], stack["start"]) +} + +func (c *current) onLink92() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink92() +} + +func (c *current) onLink88(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) callonLink88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink88(stack["name"]) +} + +func (c *current) onLink102() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink102() +} + +func (c *current) onLink98(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonLink98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink98(stack["name"]) +} + +func (c *current) onLink39(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonLink39() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink39(stack["element"]) +} + +func (c *current) onLink110() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonLink110() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink110() +} + +func (c *current) onLink119() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonLink119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink119() +} + +func (c *current) onLink123() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink123() +} + +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) callonLink129() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink129() +} + +func (c *current) onLink138() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink138() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink138() +} + +func (c *current) onLink134(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) callonLink134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink134(stack["name"]) +} + +func (c *current) onLink148() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink148() +} + +func (c *current) onLink144(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonLink144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink144(stack["name"]) +} + +func (c *current) onLink154() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonLink154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink154() +} + +func (c *current) onLink115(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonLink115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink115(stack["id"], stack["label"]) +} + +func (c *current) onLink161() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonLink161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink161() +} + +func (c *current) onLink157(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonLink157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink157(stack["id"]) +} + +func (c *current) onLink113() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonLink113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink113() +} + +func (c *current) onLink165() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonLink165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink165() +} + +func (c *current) onLink108(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonLink108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink108(stack["element"]) +} + +func (c *current) onLink167() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonLink167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink167() +} + +func (c *current) onLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonLink19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink19(stack["elements"]) +} + +func (c *current) onLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + +} + +func (p *parser) callonLink6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink6(stack["scheme"], stack["path"]) +} + +func (c *current) onLink171(url interface{}) (bool, error) { + return url.(*types.Location).TrimAngleBracketSuffix() + +} + +func (p *parser) callonLink171() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink171(stack["url"]) +} + +func (c *current) onLink2(url interface{}) (interface{}, error) { + + return types.NewInlineLink(url.(*types.Location), nil) + +} + +func (p *parser) callonLink2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink2(stack["url"]) +} + +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) callonRelativeLink26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink26() +} + +func (c *current) onRelativeLink30() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonRelativeLink30() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink30() +} + +func (c *current) onRelativeLink37() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink37() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink37() +} + +func (c *current) onRelativeLink41() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonRelativeLink41() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink41() +} + +func (c *current) onRelativeLink48() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink48() +} + +func (c *current) onRelativeLink60() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink60() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink60() +} + +func (c *current) onRelativeLink62() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonRelativeLink62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink62() +} + +func (c *current) onRelativeLink55(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonRelativeLink55() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink55(stack["start"]) +} + +func (c *current) onRelativeLink44(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonRelativeLink44() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink44(stack["name"], stack["start"]) +} + +func (c *current) onRelativeLink70() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink70() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink70() +} + +func (c *current) onRelativeLink82() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink82() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink82() +} + +func (c *current) onRelativeLink84() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonRelativeLink84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink84() +} + +func (c *current) onRelativeLink77(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonRelativeLink77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink77(stack["start"]) +} + +func (c *current) onRelativeLink66(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonRelativeLink66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink66(stack["name"], stack["start"]) +} + +func (c *current) onRelativeLink92() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink92() +} + +func (c *current) onRelativeLink88(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) callonRelativeLink88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink88(stack["name"]) +} + +func (c *current) onRelativeLink102() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink102() +} + +func (c *current) onRelativeLink98(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonRelativeLink98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink98(stack["name"]) +} + +func (c *current) onRelativeLink39(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonRelativeLink39() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink39(stack["element"]) +} + +func (c *current) onRelativeLink110() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonRelativeLink110() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink110() +} + +func (c *current) onRelativeLink119() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink119() +} + +func (c *current) onRelativeLink123() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink123() +} + +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) callonRelativeLink129() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink129() +} + +func (c *current) onRelativeLink138() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink138() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink138() +} + +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 (p *parser) callonRelativeLink134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink134(stack["name"]) +} + +func (c *current) onRelativeLink148() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink148() +} + +func (c *current) onRelativeLink144(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonRelativeLink144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink144(stack["name"]) +} + +func (c *current) onRelativeLink154() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonRelativeLink154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink154() +} + +func (c *current) onRelativeLink115(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonRelativeLink115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink115(stack["id"], stack["label"]) +} + +func (c *current) onRelativeLink161() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink161() +} + +func (c *current) onRelativeLink157(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonRelativeLink157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink157(stack["id"]) +} + +func (c *current) onRelativeLink113() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonRelativeLink113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink113() +} + +func (c *current) onRelativeLink165() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonRelativeLink165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink165() +} + +func (c *current) onRelativeLink108(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonRelativeLink108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink108(stack["element"]) +} + +func (c *current) onRelativeLink167() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonRelativeLink167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink167() +} + +func (c *current) onRelativeLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonRelativeLink19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink19(stack["elements"]) +} + +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) callonRelativeLink6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink6(stack["scheme"], stack["path"]) +} + +func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonRelativeLink2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) +} + +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) callonRelativeLink203() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink203() +} + +func (c *current) onRelativeLink207() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonRelativeLink207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink207() +} + +func (c *current) onRelativeLink214() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink214() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink214() +} + +func (c *current) onRelativeLink218() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonRelativeLink218() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink218() +} + +func (c *current) onRelativeLink225() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink225() +} + +func (c *current) onRelativeLink237() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink237() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink237() +} + +func (c *current) onRelativeLink239() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonRelativeLink239() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink239() +} + +func (c *current) onRelativeLink232(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonRelativeLink232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink232(stack["start"]) +} + +func (c *current) onRelativeLink221(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonRelativeLink221() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink221(stack["name"], stack["start"]) +} + +func (c *current) onRelativeLink247() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink247() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink247() +} + +func (c *current) onRelativeLink259() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink259() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink259() +} + +func (c *current) onRelativeLink261() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonRelativeLink261() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink261() +} + +func (c *current) onRelativeLink254(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonRelativeLink254() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink254(stack["start"]) +} + +func (c *current) onRelativeLink243(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonRelativeLink243() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink243(stack["name"], stack["start"]) +} + +func (c *current) onRelativeLink269() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink269() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink269() +} + +func (c *current) onRelativeLink265(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) callonRelativeLink265() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink265(stack["name"]) +} + +func (c *current) onRelativeLink279() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink279() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink279() +} + +func (c *current) onRelativeLink275(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonRelativeLink275() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink275(stack["name"]) +} + +func (c *current) onRelativeLink216(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonRelativeLink216() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink216(stack["element"]) +} + +func (c *current) onRelativeLink287() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonRelativeLink287() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink287() +} + +func (c *current) onRelativeLink296() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink296() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink296() +} + +func (c *current) onRelativeLink300() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink300() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink300() +} + +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) callonRelativeLink306() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink306() +} + +func (c *current) onRelativeLink315() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink315() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink315() +} + +func (c *current) onRelativeLink311(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) callonRelativeLink311() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink311(stack["name"]) +} + +func (c *current) onRelativeLink325() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink325() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink325() +} + +func (c *current) onRelativeLink321(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonRelativeLink321() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink321(stack["name"]) +} + +func (c *current) onRelativeLink331() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonRelativeLink331() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink331() +} + +func (c *current) onRelativeLink292(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonRelativeLink292() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink292(stack["id"], stack["label"]) +} + +func (c *current) onRelativeLink338() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink338() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink338() +} + +func (c *current) onRelativeLink334(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonRelativeLink334() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink334(stack["id"]) +} + +func (c *current) onRelativeLink290() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonRelativeLink290() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink290() +} + +func (c *current) onRelativeLink342() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonRelativeLink342() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink342() +} + +func (c *current) onRelativeLink285(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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink344() +} + +func (c *current) onRelativeLink196(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonRelativeLink196() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink196(stack["elements"]) +} + +func (c *current) onRelativeLink350() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonRelativeLink350() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink350() +} + +func (c *current) onRelativeLink346(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonRelativeLink346() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink346(stack["ref"]) +} + +func (c *current) onRelativeLink183(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + +} + +func (p *parser) callonRelativeLink183() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink183(stack["scheme"], stack["path"]) +} + +func (c *current) onRelativeLink179(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) + +} + +func (p *parser) callonRelativeLink179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink179(stack["url"], stack["attributes"]) +} + +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) callonExternalLink26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink26() +} + +func (c *current) onExternalLink30() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonExternalLink30() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink30() +} + +func (c *current) onExternalLink37() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink37() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink37() +} + +func (c *current) onExternalLink41() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonExternalLink41() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink41() +} + +func (c *current) onExternalLink48() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink48() +} + +func (c *current) onExternalLink60() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink60() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink60() +} + +func (c *current) onExternalLink62() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonExternalLink62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink62() +} + +func (c *current) onExternalLink55(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalLink55() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink55(stack["start"]) +} + +func (c *current) onExternalLink44(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonExternalLink44() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink44(stack["name"], stack["start"]) +} + +func (c *current) onExternalLink70() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink70() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink70() +} + +func (c *current) onExternalLink82() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink82() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink82() +} + +func (c *current) onExternalLink84() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonExternalLink84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink84() +} + +func (c *current) onExternalLink77(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalLink77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink77(stack["start"]) +} + +func (c *current) onExternalLink66(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonExternalLink66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink66(stack["name"], stack["start"]) +} + +func (c *current) onExternalLink92() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink92() +} + +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) callonExternalLink88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink88(stack["name"]) +} + +func (c *current) onExternalLink102() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink102() +} + +func (c *current) onExternalLink98(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonExternalLink98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink98(stack["name"]) +} + +func (c *current) onExternalLink39(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExternalLink39() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink39(stack["element"]) +} + +func (c *current) onExternalLink110() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonExternalLink110() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink110() +} + +func (c *current) onExternalLink119() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonExternalLink119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink119() +} + +func (c *current) onExternalLink123() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink123() +} + +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) callonExternalLink129() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink129() +} + +func (c *current) onExternalLink138() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink138() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink138() +} + +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) callonExternalLink134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink134(stack["name"]) +} + +func (c *current) onExternalLink148() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink148() +} + +func (c *current) onExternalLink144(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonExternalLink144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink144(stack["name"]) +} + +func (c *current) onExternalLink154() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalLink154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink154() +} + +func (c *current) onExternalLink115(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonExternalLink115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink115(stack["id"], stack["label"]) +} + +func (c *current) onExternalLink161() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonExternalLink161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink161() +} + +func (c *current) onExternalLink157(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonExternalLink157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink157(stack["id"]) +} + +func (c *current) onExternalLink113() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalLink113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink113() +} + +func (c *current) onExternalLink165() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonExternalLink165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink165() +} + +func (c *current) onExternalLink108(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExternalLink108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink108(stack["element"]) +} + +func (c *current) onExternalLink167() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalLink167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink167() +} + +func (c *current) onExternalLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonExternalLink19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink19(stack["elements"]) +} + +func (c *current) onExternalLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + +} + +func (p *parser) callonExternalLink6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink6(stack["scheme"], stack["path"]) +} + +func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonExternalLink2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink2(stack["url"], stack["attributes"]) +} + +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) callonExternalLink195() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink195() +} + +func (c *current) onExternalLink199() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonExternalLink199() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink199() +} + +func (c *current) onExternalLink206() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink206() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink206() +} + +func (c *current) onExternalLink210() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonExternalLink210() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink210() +} + +func (c *current) onExternalLink217() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink217() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink217() +} + +func (c *current) onExternalLink229() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink229() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink229() +} + +func (c *current) onExternalLink231() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonExternalLink231() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink231() +} + +func (c *current) onExternalLink224(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalLink224() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink224(stack["start"]) +} + +func (c *current) onExternalLink213(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonExternalLink213() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink213(stack["name"], stack["start"]) +} + +func (c *current) onExternalLink239() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink239() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink239() +} + +func (c *current) onExternalLink251() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink251() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink251() +} + +func (c *current) onExternalLink253() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonExternalLink253() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink253() +} + +func (c *current) onExternalLink246(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalLink246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink246(stack["start"]) +} + +func (c *current) onExternalLink235(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonExternalLink235() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink235(stack["name"], stack["start"]) +} + +func (c *current) onExternalLink261() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink261() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink261() +} + +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) callonExternalLink257() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink257(stack["name"]) +} + +func (c *current) onExternalLink271() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink271() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink271() +} + +func (c *current) onExternalLink267(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonExternalLink267() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink267(stack["name"]) +} + +func (c *current) onExternalLink208(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExternalLink208() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink208(stack["element"]) +} + +func (c *current) onExternalLink279() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonExternalLink279() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink279() +} + +func (c *current) onExternalLink288() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonExternalLink288() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink288() +} + +func (c *current) onExternalLink292() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink292() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink292() +} + +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) callonExternalLink298() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink298() +} + +func (c *current) onExternalLink307() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink307() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink307() +} + +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) callonExternalLink303() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink303(stack["name"]) +} + +func (c *current) onExternalLink317() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalLink317() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink317() +} + +func (c *current) onExternalLink313(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonExternalLink313() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink313(stack["name"]) +} + +func (c *current) onExternalLink323() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalLink323() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink323() +} + +func (c *current) onExternalLink284(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonExternalLink284() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink284(stack["id"], stack["label"]) +} + +func (c *current) onExternalLink330() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonExternalLink330() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink330() +} + +func (c *current) onExternalLink326(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonExternalLink326() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink326(stack["id"]) +} + +func (c *current) onExternalLink282() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalLink282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink282() +} + +func (c *current) onExternalLink334() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonExternalLink334() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink334() +} + +func (c *current) onExternalLink277(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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink188(stack["elements"]) +} + +func (c *current) onExternalLink175(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + +} + +func (p *parser) callonExternalLink175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink175(stack["scheme"], stack["path"]) +} + +func (c *current) onExternalLink172(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes) + +} + +func (p *parser) callonExternalLink172() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink172(stack["url"], stack["attributes"]) +} + +func (c *current) onListElements11() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements11() +} + +func (c *current) onListElements18() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonListElements18() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements18() +} + +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 (p *parser) callonListElements21() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements21(stack["depth"]) +} + +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) callonListElements15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements15(stack["depth"]) +} + +func (c *current) onListElements22() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonListElements22() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements22() +} + +func (c *current) onListElements27() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonListElements27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements27() +} + +func (c *current) onListElements31() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonListElements31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements31() +} + +func (c *current) onListElements35() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonListElements35() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements35() +} + +func (c *current) onListElements40() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonListElements40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements40() +} + +func (c *current) onListElements45(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElements45() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements45(stack["prefix"]) +} + +func (c *current) onListElements8(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonListElements8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements8(stack["prefix"]) +} + +func (c *current) onListElements52() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonListElements52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements52() +} + +func (c *current) onListElements56() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements56() +} + +func (c *current) onListElements49(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonListElements49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements49(stack["rawline"]) +} + +func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) + +} + +func (p *parser) callonListElements5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements5(stack["prefix"], stack["content"]) +} + +func (c *current) onListElements69() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements69() +} + +func (c *current) onListElements76() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonListElements76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements76() +} + +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) callonListElements79() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements79(stack["depth"]) +} + +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) callonListElements73() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements73(stack["depth"]) +} + +func (c *current) onListElements81() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonListElements81() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements81() +} + +func (c *current) onListElements83(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElements83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements83(stack["prefix"]) +} + +func (c *current) onListElements66(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonListElements66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements66(stack["prefix"]) +} + +func (c *current) onListElements94() (interface{}, error) { + return types.Unchecked, nil +} + +func (p *parser) callonListElements94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements94() +} + +func (c *current) onListElements96() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonListElements96() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements96() +} + +func (c *current) onListElements98() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonListElements98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements98() +} + +func (c *current) onListElements100(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElements100() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements100(stack["style"]) +} + +func (c *current) onListElements88(style interface{}) (interface{}, error) { + return style, nil + +} + +func (p *parser) callonListElements88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements88(stack["style"]) +} + +func (c *current) onListElements107() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonListElements107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements107() +} + +func (c *current) onListElements111() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements111() +} + +func (c *current) onListElements104(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonListElements104() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements104(stack["rawline"]) +} + +func (c *current) onListElements63(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) + +} + +func (p *parser) callonListElements63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements63(stack["prefix"], stack["checkstyle"], stack["content"]) +} + +func (c *current) onListElements125() (interface{}, error) { + return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonListElements125() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements125() +} + +func (c *current) onListElements129(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElements129() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements129(stack["ref"]) +} + +func (c *current) onListElements121(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonListElements121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements121(stack["ref"]) +} + +func (c *current) onListElements136() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonListElements136() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements136() +} + +func (c *current) onListElements140() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements140() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements140() +} + +func (c *current) onListElements133(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonListElements133() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements133(stack["rawline"]) +} + +func (c *current) onListElements118(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) + +} + +func (p *parser) callonListElements118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements118(stack["ref"], stack["description"]) +} + +func (c *current) onListElements157() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElements157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements157() +} + +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) callonListElements160() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements160(stack["separator"]) +} + +func (c *current) onListElements154(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonListElements154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements154(stack["separator"]) +} + +func (c *current) onListElements163() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements163() +} + +func (c *current) onListElements150() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonListElements150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements150() +} + +func (c *current) onListElements175() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElements175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements175() +} + +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 (p *parser) callonListElements178() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements178(stack["separator"]) +} + +func (c *current) onListElements172(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonListElements172() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements172(stack["separator"]) +} + +func (c *current) onListElements184() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements184() +} + +func (c *current) onListElements187() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements187() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements187() +} + +func (c *current) onListElements201() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements201() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements201() +} + +func (c *current) onListElements204() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements204() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements204() +} + +func (c *current) onListElements195() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElements195() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements195() +} + +func (c *current) onListElements221() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements221() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements221() +} + +func (c *current) onListElements225() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements225() +} + +func (c *current) onListElements215(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonListElements215() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements215(stack["content"]) +} + +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) callonListElements214() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements214(stack["content"]) +} + +func (c *current) onListElements241() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements241() +} + +func (c *current) onListElements244() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements244() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements244() +} + +func (c *current) onListElements235() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElements235() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements235() +} + +func (c *current) onListElements255() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements255() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements255() +} + +func (c *current) onListElements257() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements257() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements257() +} + +func (c *current) onListElements266() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements266() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements266() +} + +func (c *current) onListElements273() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonListElements273() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements273() +} + +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) callonListElements276() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements276(stack["depth"]) +} + +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 (p *parser) callonListElements270() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements270(stack["depth"]) +} + +func (c *current) onListElements277() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonListElements277() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements277() +} + +func (c *current) onListElements282() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonListElements282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements282() +} + +func (c *current) onListElements286() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonListElements286() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements286() +} + +func (c *current) onListElements290() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonListElements290() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements290() +} + +func (c *current) onListElements295() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonListElements295() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements295() +} + +func (c *current) onListElements300(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElements300() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements300(stack["prefix"]) +} + +func (c *current) onListElements263(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonListElements263() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements263(stack["prefix"]) +} + +func (c *current) onListElements307() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements307() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements307() +} + +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) callonListElements321() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements321(stack["prefix"]) +} + +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) callonListElements329() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements329() +} + +func (c *current) onListElements333(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElements333() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements333(stack["ref"]) +} + +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) callonListElements348() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements348(stack["separator"]) +} + +func (c *current) onListElements342(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonListElements342() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements342(stack["separator"]) +} + +func (c *current) onListElements351() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements351() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements351() +} + +func (c *current) onListElements338() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonListElements338() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements338() +} + +func (c *current) onListElements362() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElements362() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements362() +} + +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) callonListElements365() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements365(stack["separator"]) +} + +func (c *current) onListElements359(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonListElements359() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements359(stack["separator"]) +} + +func (c *current) onListElements376() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElements376() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements376() +} + +func (c *current) onListElements382() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements382() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements382() +} + +func (c *current) onListElements385() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements385() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements385() +} + +func (c *current) onListElements373(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElements373() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements373(stack["delimiter"]) +} + +func (c *current) onListElements395() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElements395() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements395() +} + +func (c *current) onListElements401() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements401() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements401() +} + +func (c *current) onListElements404() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements404() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements404() +} + +func (c *current) onListElements392(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElements392() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements392(stack["delimiter"]) +} + +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) callonListElements415() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements415() +} + +func (c *current) onListElements419() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements419() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements419() +} + +func (c *current) onListElements422() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements422() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements422() +} + +func (c *current) onListElements411(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonListElements411() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements411(stack["language"]) +} + +func (c *current) onListElements432() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElements432() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements432() +} + +func (c *current) onListElements438() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements438() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements438() +} + +func (c *current) onListElements441() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements441() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements441() +} + +func (c *current) onListElements429(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElements429() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements429(stack["delimiter"]) +} + +func (c *current) onListElements451() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElements451() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements451() +} + +func (c *current) onListElements457() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements457() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements457() +} + +func (c *current) onListElements460() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements460() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements460() +} + +func (c *current) onListElements448(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElements448() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements448(stack["delimiter"]) +} + +func (c *current) onListElements470() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElements470() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements470() +} + +func (c *current) onListElements476() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements476() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements476() +} + +func (c *current) onListElements479() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements479() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements479() +} + +func (c *current) onListElements467(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElements467() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements467(stack["delimiter"]) +} + +func (c *current) onListElements489() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElements489() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements489() +} + +func (c *current) onListElements495() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements495() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements495() +} + +func (c *current) onListElements498() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements498() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements498() +} + +func (c *current) onListElements486(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElements486() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements486(stack["delimiter"]) +} + +func (c *current) onListElements508() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElements508() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements508() +} + +func (c *current) onListElements514() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements514() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements514() +} + +func (c *current) onListElements517() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements517() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements517() +} + +func (c *current) onListElements505(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElements505() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements505(stack["delimiter"]) +} + +func (c *current) onListElements527() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElements527() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements527() +} + +func (c *current) onListElements533() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements533() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements533() +} + +func (c *current) onListElements536() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements536() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements536() +} + +func (c *current) onListElements524(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElements524() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements524(stack["delimiter"]) +} + +func (c *current) onListElements367(delimiter interface{}) (interface{}, error) { + return delimiter, nil + +} + +func (p *parser) callonListElements367() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements367(stack["delimiter"]) +} + +func (c *current) onListElements544() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + +} + +func (p *parser) callonListElements544() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements544() +} + +func (c *current) onListElements548() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements548() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements548() +} + +func (c *current) onListElements232(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElements232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements232(stack["content"]) +} + +func (c *current) onListElements181(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) + +} + +func (p *parser) callonListElements181() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements181(stack["content"]) +} + +func (c *current) onListElements557() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElements557() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements557() +} + +func (c *current) onListElements561() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonListElements561() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements561() +} + +func (c *current) onListElements565() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements565() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements565() +} + +func (c *current) onListElements555(content interface{}) (interface{}, error) { + return types.NewParagraph(content) + +} + +func (p *parser) callonListElements555() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements555(stack["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) callonListElements1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) +} + +func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { + return types.Flatten(elements.([]interface{})), nil +} + +func (p *parser) callonExtraListElements1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElements1(stack["elements"]) +} + +func (c *current) onExtraListElement17() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement17() +} + +func (c *current) onExtraListElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement20() +} + +func (c *current) onExtraListElement11() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement11() +} + +func (c *current) onExtraListElement34() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement34() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement34() +} + +func (c *current) onExtraListElement41() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement41() +} + +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) callonExtraListElement44() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement44(stack["depth"]) +} + +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) callonExtraListElement38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement38(stack["depth"]) +} + +func (c *current) onExtraListElement45() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonExtraListElement45() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement45() +} + +func (c *current) onExtraListElement50() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonExtraListElement50() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement50() +} + +func (c *current) onExtraListElement54() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonExtraListElement54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement54() +} + +func (c *current) onExtraListElement58() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonExtraListElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement58() +} + +func (c *current) onExtraListElement63() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonExtraListElement63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement63() +} + +func (c *current) onExtraListElement68(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement68() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement68(stack["prefix"]) +} + +func (c *current) onExtraListElement31(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement31(stack["prefix"]) +} + +func (c *current) onExtraListElement75() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement75() +} + +func (c *current) onExtraListElement79() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement79() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement79() +} + +func (c *current) onExtraListElement72(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonExtraListElement72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement72(stack["rawline"]) +} + +func (c *current) onExtraListElement28(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) + +} + +func (p *parser) callonExtraListElement28() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement28(stack["prefix"], stack["content"]) +} + +func (c *current) onExtraListElement8(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExtraListElement8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement8(stack["element"]) +} + +func (c *current) onExtraListElement98() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement98() +} + +func (c *current) onExtraListElement105() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement105() +} + +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) callonExtraListElement108() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement108(stack["depth"]) +} + +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) callonExtraListElement102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement102(stack["depth"]) +} + +func (c *current) onExtraListElement109() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonExtraListElement109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement109() +} + +func (c *current) onExtraListElement114() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonExtraListElement114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement114() +} + +func (c *current) onExtraListElement118() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonExtraListElement118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement118() +} + +func (c *current) onExtraListElement122() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonExtraListElement122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement122() +} + +func (c *current) onExtraListElement127() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonExtraListElement127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement127() +} + +func (c *current) onExtraListElement132(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement132(stack["prefix"]) +} + +func (c *current) onExtraListElement95(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement95() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement95(stack["prefix"]) +} + +func (c *current) onExtraListElement139() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement139() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement139() +} + +func (c *current) onExtraListElement143() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement143() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement143() +} + +func (c *current) onExtraListElement136(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonExtraListElement136() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement136(stack["rawline"]) +} + +func (c *current) onExtraListElement92(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) + +} + +func (p *parser) callonExtraListElement92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement92(stack["prefix"], stack["content"]) +} + +func (c *current) onExtraListElement86(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil + +} + +func (p *parser) callonExtraListElement86() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement86(stack["attributes"], stack["element"]) +} + +func (c *current) onExtraListElement159() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement159() +} + +func (c *current) onExtraListElement162() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement162() +} + +func (c *current) onExtraListElement153() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement153() +} + +func (c *current) onExtraListElement176() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement176() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement176() +} + +func (c *current) onExtraListElement183() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement183() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement183() +} + +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) callonExtraListElement186() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement186(stack["depth"]) +} + +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) callonExtraListElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement180(stack["depth"]) +} + +func (c *current) onExtraListElement188() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonExtraListElement188() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement188() +} + +func (c *current) onExtraListElement190(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement190(stack["prefix"]) +} + +func (c *current) onExtraListElement173(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement173(stack["prefix"]) +} + +func (c *current) onExtraListElement201() (interface{}, error) { + return types.Unchecked, nil +} + +func (p *parser) callonExtraListElement201() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement201() +} + +func (c *current) onExtraListElement203() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonExtraListElement203() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement203() +} + +func (c *current) onExtraListElement205() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonExtraListElement205() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement205() +} + +func (c *current) onExtraListElement207(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement207(stack["style"]) +} + +func (c *current) onExtraListElement195(style interface{}) (interface{}, error) { + return style, nil + +} + +func (p *parser) callonExtraListElement195() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement195(stack["style"]) +} + +func (c *current) onExtraListElement214() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement214() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement214() +} + +func (c *current) onExtraListElement218() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement218() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement218() +} + +func (c *current) onExtraListElement211(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonExtraListElement211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement211(stack["rawline"]) +} + +func (c *current) onExtraListElement170(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) + +} + +func (p *parser) callonExtraListElement170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement170(stack["prefix"], stack["checkstyle"], stack["content"]) +} + +func (c *current) onExtraListElement150(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExtraListElement150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement150(stack["element"]) +} + +func (c *current) onExtraListElement237() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement237() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement237() +} + +func (c *current) onExtraListElement244() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement244() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement244() +} + +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) callonExtraListElement247() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement247(stack["depth"]) +} + +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 (p *parser) callonExtraListElement241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement241(stack["depth"]) +} + +func (c *current) onExtraListElement249() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonExtraListElement249() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement249() +} + +func (c *current) onExtraListElement251(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement251() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement251(stack["prefix"]) +} + +func (c *current) onExtraListElement234(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement234() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement234(stack["prefix"]) +} + +func (c *current) onExtraListElement262() (interface{}, error) { + return types.Unchecked, nil +} + +func (p *parser) callonExtraListElement262() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement262() +} + +func (c *current) onExtraListElement264() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonExtraListElement264() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement264() +} + +func (c *current) onExtraListElement266() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonExtraListElement266() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement266() +} + +func (c *current) onExtraListElement268(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement268() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement268(stack["style"]) +} + +func (c *current) onExtraListElement256(style interface{}) (interface{}, error) { + return style, nil + +} + +func (p *parser) callonExtraListElement256() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement256(stack["style"]) +} + +func (c *current) onExtraListElement275() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement275() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement275() +} + +func (c *current) onExtraListElement279() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement279() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement279() +} + +func (c *current) onExtraListElement272(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonExtraListElement272() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement272(stack["rawline"]) +} + +func (c *current) onExtraListElement231(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) + +} + +func (p *parser) callonExtraListElement231() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement231(stack["prefix"], stack["checkstyle"], stack["content"]) +} + +func (c *current) onExtraListElement225(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil + +} + +func (p *parser) callonExtraListElement225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement225(stack["attributes"], stack["element"]) +} + +func (c *current) onExtraListElement295() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement295() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement295() +} + +func (c *current) onExtraListElement298() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement298() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement298() +} + +func (c *current) onExtraListElement289() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement289() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement289() +} + +func (c *current) onExtraListElement313() (interface{}, error) { + return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonExtraListElement313() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement313() +} + +func (c *current) onExtraListElement317(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement317() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement317(stack["ref"]) +} + +func (c *current) onExtraListElement309(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonExtraListElement309() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement309(stack["ref"]) +} + +func (c *current) onExtraListElement324() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement324() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement324() +} + +func (c *current) onExtraListElement328() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement328() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement328() +} + +func (c *current) onExtraListElement321(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonExtraListElement321() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement321(stack["rawline"]) +} + +func (c *current) onExtraListElement306(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) + +} + +func (p *parser) callonExtraListElement306() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement306(stack["ref"], stack["description"]) +} + +func (c *current) onExtraListElement286(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExtraListElement286() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement286(stack["element"]) +} + +func (c *current) onExtraListElement348() (interface{}, error) { + return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonExtraListElement348() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement348() +} + +func (c *current) onExtraListElement352(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement352() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement352(stack["ref"]) +} + +func (c *current) onExtraListElement344(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonExtraListElement344() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement344(stack["ref"]) +} + +func (c *current) onExtraListElement359() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement359() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement359() +} + +func (c *current) onExtraListElement363() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement363() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement363() +} + +func (c *current) onExtraListElement356(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonExtraListElement356() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement356(stack["rawline"]) +} + +func (c *current) onExtraListElement341(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) + +} + +func (p *parser) callonExtraListElement341() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement341(stack["ref"], stack["description"]) +} + +func (c *current) onExtraListElement335(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil + +} + +func (p *parser) callonExtraListElement335() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement335(stack["attributes"], stack["element"]) +} + +func (c *current) onExtraListElement380() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement380() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement380() +} + +func (c *current) onExtraListElement383() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement383() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement383() +} + +func (c *current) onExtraListElement374() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement374() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement374() +} + +func (c *current) onExtraListElement401() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement401() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement401() +} + +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) callonExtraListElement404() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement404(stack["separator"]) +} + +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) callonExtraListElement407() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement407() +} + +func (c *current) onExtraListElement394() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonExtraListElement394() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement394() +} + +func (c *current) onExtraListElement419() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement419() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement419() +} + +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) callonExtraListElement422() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement422(stack["separator"]) +} + +func (c *current) onExtraListElement416(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement416() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement416(stack["separator"]) +} + +func (c *current) onExtraListElement428() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement428() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement428() +} + +func (c *current) onExtraListElement431() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement431() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement431() +} + +func (c *current) onExtraListElement445() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement445() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement445() +} + +func (c *current) onExtraListElement448() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement448() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement448() +} + +func (c *current) onExtraListElement439() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement439() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement439() +} + +func (c *current) onExtraListElement465() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement465() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement465() +} + +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) callonExtraListElement459() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement459(stack["content"]) +} + +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) callonExtraListElement458() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement458(stack["content"]) +} + +func (c *current) onExtraListElement485() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement485() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement485() +} + +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.onExtraListElement488() +} + +func (c *current) onExtraListElement479() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement479() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement479() +} + +func (c *current) onExtraListElement499() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement499() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement499() +} + +func (c *current) onExtraListElement501() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement501() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement501() +} + +func (c *current) onExtraListElement510() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement510() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement510() +} + +func (c *current) onExtraListElement517() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement517() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement517() +} + +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) callonExtraListElement520() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement520(stack["depth"]) +} + +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) callonExtraListElement514() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement514(stack["depth"]) +} + +func (c *current) onExtraListElement521() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonExtraListElement521() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement521() +} + +func (c *current) onExtraListElement526() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonExtraListElement526() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement526() +} + +func (c *current) onExtraListElement530() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonExtraListElement530() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement530() +} + +func (c *current) onExtraListElement534() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonExtraListElement534() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement534() +} + +func (c *current) onExtraListElement539() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonExtraListElement539() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement539() +} + +func (c *current) onExtraListElement544(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement544() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement544(stack["prefix"]) +} + +func (c *current) onExtraListElement507(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement507() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement507(stack["prefix"]) +} + +func (c *current) onExtraListElement551() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement551() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement551() +} + +func (c *current) onExtraListElement558() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement558() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement558() +} + +func (c *current) onExtraListElement561(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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement561(stack["depth"]) +} + +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) callonExtraListElement555() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement555(stack["depth"]) +} + +func (c *current) onExtraListElement563() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonExtraListElement563() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement563() +} + +func (c *current) onExtraListElement565(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement565() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement565(stack["prefix"]) +} + +func (c *current) onExtraListElement548(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement548() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement548(stack["prefix"]) +} + +func (c *current) onExtraListElement573() (interface{}, error) { + return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonExtraListElement573() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement573() +} + +func (c *current) onExtraListElement577(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement577() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement577(stack["ref"]) +} + +func (c *current) onExtraListElement569(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonExtraListElement569() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement569(stack["ref"]) +} + +func (c *current) onExtraListElement589() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement589() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement589() +} + +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) callonExtraListElement592() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement592(stack["separator"]) +} + +func (c *current) onExtraListElement586(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement586() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement586(stack["separator"]) +} + +func (c *current) onExtraListElement595() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement595() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement595() +} + +func (c *current) onExtraListElement582() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonExtraListElement582() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement582() +} + +func (c *current) onExtraListElement606() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement606() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement606() +} + +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) callonExtraListElement609() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement609(stack["separator"]) +} + +func (c *current) onExtraListElement603(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement603() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement603(stack["separator"]) +} + +func (c *current) onExtraListElement620() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement620() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement620() +} + +func (c *current) onExtraListElement626() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement626() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement626() +} + +func (c *current) onExtraListElement629() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement629() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement629() +} + +func (c *current) onExtraListElement617(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement617() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement617(stack["delimiter"]) +} + +func (c *current) onExtraListElement639() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement639() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement639() +} + +func (c *current) onExtraListElement645() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement645() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement645() +} + +func (c *current) onExtraListElement648() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement648() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement648() +} + +func (c *current) onExtraListElement636(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement636() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement636(stack["delimiter"]) +} + +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) callonExtraListElement659() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement659() +} + +func (c *current) onExtraListElement663() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement663() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement663() +} + +func (c *current) onExtraListElement666() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement666() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement666() +} + +func (c *current) onExtraListElement655(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonExtraListElement655() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement655(stack["language"]) +} + +func (c *current) onExtraListElement676() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement676() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement676() +} + +func (c *current) onExtraListElement682() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement682() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement682() +} + +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.onExtraListElement685() +} + +func (c *current) onExtraListElement673(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement673() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement673(stack["delimiter"]) +} + +func (c *current) onExtraListElement695() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement695() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement695() +} + +func (c *current) onExtraListElement701() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement701() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement701() +} + +func (c *current) onExtraListElement704() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement704() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement704() +} + +func (c *current) onExtraListElement692(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement692() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement692(stack["delimiter"]) +} + +func (c *current) onExtraListElement714() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement714() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement714() +} + +func (c *current) onExtraListElement720() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement720() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement720() +} + +func (c *current) onExtraListElement723() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement723() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement723() +} + +func (c *current) onExtraListElement711(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement711() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement711(stack["delimiter"]) +} + +func (c *current) onExtraListElement733() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement733() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement733() +} + +func (c *current) onExtraListElement739() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement739() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement739() +} + +func (c *current) onExtraListElement742() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement742() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement742() +} + +func (c *current) onExtraListElement730(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement730() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement730(stack["delimiter"]) +} + +func (c *current) onExtraListElement752() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement752() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement752() +} + +func (c *current) onExtraListElement758() (interface{}, error) { + return string(c.text), 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) callonExtraListElement761() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement761() +} + +func (c *current) onExtraListElement749(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement749() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement749(stack["delimiter"]) +} + +func (c *current) onExtraListElement771() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement771() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement771() +} + +func (c *current) onExtraListElement777() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement777() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement777() +} + +func (c *current) onExtraListElement780() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement780() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement780() +} + +func (c *current) onExtraListElement768(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement768() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement768(stack["delimiter"]) +} + +func (c *current) onExtraListElement611(delimiter interface{}) (interface{}, error) { + return delimiter, nil + +} + +func (p *parser) callonExtraListElement611() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement611(stack["delimiter"]) +} + +func (c *current) onExtraListElement788() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + +} + +func (p *parser) callonExtraListElement788() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement788() +} + +func (c *current) onExtraListElement792() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement792() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement792() +} + +func (c *current) onExtraListElement476(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + +} + +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) callonExtraListElement425() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement425(stack["content"]) +} + +func (c *current) onExtraListElement801() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement801() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement801() +} + +func (c *current) onExtraListElement805() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement805() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement805() +} + +func (c *current) onExtraListElement809() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement809() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement809() +} + +func (c *current) onExtraListElement799(content interface{}) (interface{}, error) { + return types.NewParagraph(content) + +} + +func (p *parser) callonExtraListElement799() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement799(stack["content"]) +} + +func (c *current) onExtraListElement391(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) + +} + +func (p *parser) callonExtraListElement391() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement391(stack["term"], stack["separator"], stack["description"]) +} + +func (c *current) onExtraListElement371(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExtraListElement371() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement371(stack["element"]) +} + +func (c *current) onExtraListElement832() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement832() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement832() +} + +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 (p *parser) callonExtraListElement835() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement835(stack["separator"]) +} + +func (c *current) onExtraListElement829(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement829() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement829(stack["separator"]) +} + +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) callonExtraListElement825() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement825() +} + +func (c *current) onExtraListElement850() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement850() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement850() +} + +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 (p *parser) callonExtraListElement853() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement853(stack["separator"]) +} + +func (c *current) onExtraListElement847(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement847() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement847(stack["separator"]) +} + +func (c *current) onExtraListElement859() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement859() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement859() +} + +func (c *current) onExtraListElement862() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement862() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement862() +} + +func (c *current) onExtraListElement876() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement876() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement876() +} + +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 (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.onExtraListElement870() +} + +func (c *current) onExtraListElement896() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement896() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement896() +} + +func (c *current) onExtraListElement900() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement900() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement900() +} + +func (c *current) onExtraListElement890(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonExtraListElement890() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement890(stack["content"]) +} + +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) callonExtraListElement889() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement889(stack["content"]) +} + +func (c *current) onExtraListElement916() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement916() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement916() +} + +func (c *current) onExtraListElement919() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement919() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement919() +} + +func (c *current) onExtraListElement910() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement910() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement910() +} + +func (c *current) onExtraListElement930() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement930() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement930() +} + +func (c *current) onExtraListElement932() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement932() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement932() +} + +func (c *current) onExtraListElement941() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement941() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement941() +} + +func (c *current) onExtraListElement948() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement948() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement948() +} + +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) callonExtraListElement951() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement951(stack["depth"]) +} + +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) callonExtraListElement945() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement945(stack["depth"]) +} + +func (c *current) onExtraListElement952() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonExtraListElement952() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement952() +} + +func (c *current) onExtraListElement957() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonExtraListElement957() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement957() +} + +func (c *current) onExtraListElement961() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonExtraListElement961() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement961() +} + +func (c *current) onExtraListElement965() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonExtraListElement965() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement965() +} + +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) callonExtraListElement938() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement938(stack["prefix"]) +} + +func (c *current) onExtraListElement982() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement982() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement982() +} + +func (c *current) onExtraListElement989() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement989() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement989() +} + +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) callonExtraListElement992() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement992(stack["depth"]) +} + +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) callonExtraListElement986() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement986(stack["depth"]) +} + +func (c *current) onExtraListElement994() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonExtraListElement994() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement994() +} + +func (c *current) onExtraListElement996(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement996() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement996(stack["prefix"]) +} + +func (c *current) onExtraListElement979(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement979() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement979(stack["prefix"]) +} + +func (c *current) onExtraListElement1004() (interface{}, error) { + return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonExtraListElement1004() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1004() +} + +func (c *current) onExtraListElement1008(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1008() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1008(stack["ref"]) +} + +func (c *current) onExtraListElement1000(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonExtraListElement1000() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1000(stack["ref"]) +} + +func (c *current) onExtraListElement1020() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1020() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1020() +} + +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) callonExtraListElement1023() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1023(stack["separator"]) +} + +func (c *current) onExtraListElement1017(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement1017() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1017(stack["separator"]) +} + +func (c *current) onExtraListElement1026() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1026() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1026() +} + +func (c *current) onExtraListElement1013() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonExtraListElement1013() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1013() +} + +func (c *current) onExtraListElement1037() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1037() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1037() +} + +func (c *current) onExtraListElement1040(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) callonExtraListElement1040() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1040(stack["separator"]) +} + +func (c *current) onExtraListElement1034(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement1034() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1034(stack["separator"]) +} + +func (c *current) onExtraListElement1051() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1051() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1051() +} + +func (c *current) onExtraListElement1057() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1057() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1057() +} + +func (c *current) onExtraListElement1060() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1060() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1060() +} + +func (c *current) onExtraListElement1048(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1048() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1048(stack["delimiter"]) +} + +func (c *current) onExtraListElement1070() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1070() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1070() +} + +func (c *current) onExtraListElement1076() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1076() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1076() +} + +func (c *current) onExtraListElement1079() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1079() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1079() +} + +func (c *current) onExtraListElement1067(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1067() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1067(stack["delimiter"]) +} + +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) callonExtraListElement1090() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1090() +} + +func (c *current) onExtraListElement1094() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1094() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1094() +} + +func (c *current) onExtraListElement1097() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1097() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1097() +} + +func (c *current) onExtraListElement1086(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonExtraListElement1086() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1086(stack["language"]) +} + +func (c *current) onExtraListElement1107() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1107() +} + +func (c *current) onExtraListElement1113() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1113() +} + +func (c *current) onExtraListElement1116() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1116() +} + +func (c *current) onExtraListElement1104(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1104() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1104(stack["delimiter"]) +} + +func (c *current) onExtraListElement1126() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1126() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1126() +} + +func (c *current) onExtraListElement1132() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1132() +} + +func (c *current) onExtraListElement1135() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1135() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1135() +} + +func (c *current) onExtraListElement1123(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1123(stack["delimiter"]) +} + +func (c *current) onExtraListElement1145() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1145() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1145() +} + +func (c *current) onExtraListElement1151() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1151() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1151() +} + +func (c *current) onExtraListElement1154() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1154() +} + +func (c *current) onExtraListElement1142(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1142() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1142(stack["delimiter"]) +} + +func (c *current) onExtraListElement1164() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1164() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1164() +} + +func (c *current) onExtraListElement1170() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1170() +} + +func (c *current) onExtraListElement1173() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1173() +} + +func (c *current) onExtraListElement1161(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1161(stack["delimiter"]) +} + +func (c *current) onExtraListElement1183() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1183() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1183() +} + +func (c *current) onExtraListElement1189() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1189() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1189() +} + +func (c *current) onExtraListElement1192() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1192() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1192() +} + +func (c *current) onExtraListElement1180(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1180(stack["delimiter"]) +} + +func (c *current) onExtraListElement1202() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1202() +} + +func (c *current) onExtraListElement1208() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1208() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1208() +} + +func (c *current) onExtraListElement1211() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1211() +} + +func (c *current) onExtraListElement1199(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1199() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1199(stack["delimiter"]) +} + +func (c *current) onExtraListElement1042(delimiter interface{}) (interface{}, error) { + return delimiter, nil + +} + +func (p *parser) callonExtraListElement1042() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1042(stack["delimiter"]) +} + +func (c *current) onExtraListElement1219() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + +} + +func (p *parser) callonExtraListElement1219() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1219() +} + +func (c *current) onExtraListElement1223() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1223() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1223() +} + +func (c *current) onExtraListElement907(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonExtraListElement907() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement907(stack["content"]) +} + +func (c *current) onExtraListElement856(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) + +} + +func (p *parser) callonExtraListElement856() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement856(stack["content"]) +} + +func (c *current) onExtraListElement1232() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1232() +} + +func (c *current) onExtraListElement1236() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement1236() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1236() +} + +func (c *current) onExtraListElement1240() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1240() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1240() +} + +func (c *current) onExtraListElement1230(content interface{}) (interface{}, error) { + return types.NewParagraph(content) + +} + +func (p *parser) callonExtraListElement1230() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1230(stack["content"]) +} + +func (c *current) onExtraListElement822(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) + +} + +func (p *parser) callonExtraListElement822() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement822(stack["term"], stack["separator"], stack["description"]) +} + +func (c *current) onExtraListElement816(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil + +} + +func (p *parser) callonExtraListElement816() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement816(stack["attributes"], stack["element"]) +} + +func (c *current) onExtraListElement1253() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1253() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1253() +} + +func (c *current) onExtraListElement1257() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1257() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1257() +} + +func (c *current) onExtraListElement1247(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonExtraListElement1247() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1247(stack["content"]) +} + +func (c *current) onExtraListElement1273() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1273() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1273() +} + +func (c *current) onExtraListElement1276() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1276() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1276() +} + +func (c *current) onExtraListElement1267() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement1267() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1267() +} + +func (c *current) onExtraListElement1295() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1295() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1295() +} + +func (c *current) onExtraListElement1293() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1293() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1293() +} + +func (c *current) onExtraListElement1300(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil + +} + +func (p *parser) callonExtraListElement1300() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1300(stack["content"]) +} + +func (c *current) onExtraListElement1302() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1302() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1302() +} + +func (c *current) onExtraListElement1290(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonExtraListElement1290() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1290(stack["content"]) +} + +func (c *current) onExtraListElement1318() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1318() (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 +} + +func (p *parser) callonExtraListElement1322() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1322() +} + +func (c *current) onExtraListElement1312(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonExtraListElement1312() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1312(stack["content"]) +} + +func (c *current) onExtraListElement1332() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonExtraListElement1332() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1332() +} + +func (c *current) onExtraListElement1335(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonExtraListElement1335() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1335(stack["content"]) +} + +func (c *current) onExtraListElement1337() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1337() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1337() +} + +func (c *current) onExtraListElement1329(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonExtraListElement1329() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1329(stack["content"]) +} + +func (c *current) onExtraListElement1287(firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + +} + +func (p *parser) callonExtraListElement1287() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1287(stack["firstLine"], stack["otherLines"]) +} + +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) callonExtraListElement1264() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1264(stack["attributes"], stack["element"]) +} + +func (c *current) onExtraListElement1354() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1354() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1354() +} + +func (c *current) onExtraListElement1358() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1358() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1358() +} + +func (c *current) onExtraListElement1348(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonExtraListElement1348() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1348(stack["content"]) +} + +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) callonExtraListElement1347() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1347(stack["content"]) +} + +func (c *current) onExtraListElement1374() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1374() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1374() +} + +func (c *current) onExtraListElement1377() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1377() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1377() +} + +func (c *current) onExtraListElement1368() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement1368() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1368() +} + +func (c *current) onExtraListElement1388() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1388() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1388() +} + +func (c *current) onExtraListElement1390() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1390() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1390() +} + +func (c *current) onExtraListElement1399() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1399() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1399() +} + +func (c *current) onExtraListElement1406() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement1406() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1406() +} + +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 (p *parser) callonExtraListElement1409() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1409(stack["depth"]) +} + +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) callonExtraListElement1403() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1403(stack["depth"]) +} + +func (c *current) onExtraListElement1410() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonExtraListElement1410() (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) + +} + +func (p *parser) callonExtraListElement1415() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1415() +} + +func (c *current) onExtraListElement1419() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonExtraListElement1419() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1419() +} + +func (c *current) onExtraListElement1423() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonExtraListElement1423() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1423() +} + +func (c *current) onExtraListElement1428() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonExtraListElement1428() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1428() +} + +func (c *current) onExtraListElement1433(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1433() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1433(stack["prefix"]) +} + +func (c *current) onExtraListElement1396(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonExtraListElement1396() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1396(stack["prefix"]) +} + +func (c *current) onExtraListElement1440() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1440() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1440() +} + +func (c *current) onExtraListElement1447() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonExtraListElement1447() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1447() +} + +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 (p *parser) callonExtraListElement1450() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1450(stack["depth"]) +} + +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 (p *parser) callonExtraListElement1444() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1444(stack["depth"]) +} + +func (c *current) onExtraListElement1452() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonExtraListElement1452() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1452() +} + +func (c *current) onExtraListElement1454(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1454() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1454(stack["prefix"]) +} + +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) callonExtraListElement1462() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1462() +} + +func (c *current) onExtraListElement1466(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1466() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1466(stack["ref"]) +} + +func (c *current) onExtraListElement1458(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonExtraListElement1458() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1458(stack["ref"]) +} + +func (c *current) onExtraListElement1478() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1478() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1478() +} + +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) callonExtraListElement1481() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1481(stack["separator"]) +} + +func (c *current) onExtraListElement1475(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement1475() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1475(stack["separator"]) +} + +func (c *current) onExtraListElement1484() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1484() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1484() +} + +func (c *current) onExtraListElement1471() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonExtraListElement1471() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1471() +} + +func (c *current) onExtraListElement1495() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1495() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1495() +} + +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) callonExtraListElement1498() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1498(stack["separator"]) +} + +func (c *current) onExtraListElement1492(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement1492() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1492(stack["separator"]) +} + +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.onExtraListElement1509() +} + +func (c *current) onExtraListElement1515() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1515() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1515() +} + +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.onExtraListElement1518() +} + +func (c *current) onExtraListElement1506(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1506() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1506(stack["delimiter"]) +} + +func (c *current) onExtraListElement1528() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1528() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1528() +} + +func (c *current) onExtraListElement1534() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1534() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1534() +} + +func (c *current) onExtraListElement1537() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1537() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1537() +} + +func (c *current) onExtraListElement1525(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1525() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1525(stack["delimiter"]) +} + +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) callonExtraListElement1548() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1548() +} + +func (c *current) onExtraListElement1552() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1552() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1552() +} + +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) callonExtraListElement1544() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1544(stack["language"]) +} + +func (c *current) onExtraListElement1565() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1565() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1565() +} + +func (c *current) onExtraListElement1571() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1571() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1571() +} + +func (c *current) onExtraListElement1574() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1574() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1574() +} + +func (c *current) onExtraListElement1562(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1562() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1562(stack["delimiter"]) +} + +func (c *current) onExtraListElement1584() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1584() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1584() +} + +func (c *current) onExtraListElement1590() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1590() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1590() +} + +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 (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.onExtraListElement1581(stack["delimiter"]) +} + +func (c *current) onExtraListElement1603() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1603() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1603() +} + +func (c *current) onExtraListElement1609() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1609() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1609() +} + +func (c *current) onExtraListElement1612() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1612() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1612() +} + +func (c *current) onExtraListElement1600(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1600() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1600(stack["delimiter"]) +} + +func (c *current) onExtraListElement1622() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1622() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1622() +} + +func (c *current) onExtraListElement1628() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1628() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1628() +} + +func (c *current) onExtraListElement1631() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1631() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1631() +} + +func (c *current) onExtraListElement1619(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1619() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1619(stack["delimiter"]) +} + +func (c *current) onExtraListElement1641() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1641() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1641() +} + +func (c *current) onExtraListElement1647() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1647() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1647() +} + +func (c *current) onExtraListElement1650() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1650() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1650() +} + +func (c *current) onExtraListElement1638(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1638() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1638(stack["delimiter"]) +} + +func (c *current) onExtraListElement1660() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1660() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1660() +} + +func (c *current) onExtraListElement1666() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExtraListElement1666() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1666() +} + +func (c *current) onExtraListElement1669() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1669() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1669() +} + +func (c *current) onExtraListElement1657(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonExtraListElement1657() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1657(stack["delimiter"]) +} + +func (c *current) onExtraListElement1500(delimiter interface{}) (interface{}, error) { + return delimiter, nil + +} + +func (p *parser) callonExtraListElement1500() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1500(stack["delimiter"]) +} + +func (c *current) onExtraListElement1677() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + +} + +func (p *parser) callonExtraListElement1677() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1677() +} + +func (c *current) onExtraListElement1681() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement1681() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1681() +} + +func (c *current) onExtraListElement1365(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonExtraListElement1365() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1365(stack["content"]) +} + +func (c *current) onExtraListElement1344(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExtraListElement1344() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1344(stack["element"]) +} + +func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonExtraListElement1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement1(stack["element"]) +} + +func (c *current) onListElementContinuation7() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuation7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuation7() +} + +func (c *current) onListElementContinuation9() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuation9() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuation9() +} + +func (c *current) onListElementContinuation16() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuation16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuation16() +} + +func (c *current) onListElementContinuation18(offset interface{}) (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuation18() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuation18(stack["offset"]) +} + +func (c *current) onListElementContinuation1(offset, element interface{}) (interface{}, error) { + return types.NewListElementContinuation(len(offset.([]interface{})), element) + +} + +func (p *parser) callonListElementContinuation1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuation1(stack["offset"], stack["element"]) +} + +func (c *current) onListElementContinuationElement14() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement14() +} + +func (c *current) onListElementContinuationElement21() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonListElementContinuationElement21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement21() +} + +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) callonListElementContinuationElement24() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement24(stack["depth"]) +} + +func (c *current) onListElementContinuationElement18(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) callonListElementContinuationElement18() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement18(stack["depth"]) +} + +func (c *current) onListElementContinuationElement25() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonListElementContinuationElement25() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement25() +} + +func (c *current) onListElementContinuationElement30() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonListElementContinuationElement30() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement30() +} + +func (c *current) onListElementContinuationElement34() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonListElementContinuationElement34() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement34() +} + +func (c *current) onListElementContinuationElement38() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonListElementContinuationElement38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement38() +} + +func (c *current) onListElementContinuationElement43() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonListElementContinuationElement43() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement43() +} + +func (c *current) onListElementContinuationElement48(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement48(stack["prefix"]) +} + +func (c *current) onListElementContinuationElement11(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonListElementContinuationElement11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement11(stack["prefix"]) +} + +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 (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.onListElementContinuationElement52(stack["rawline"]) +} + +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) callonListElementContinuationElement79() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement79() +} + +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) callonListElementContinuationElement82() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement82(stack["depth"]) +} + +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 (p *parser) callonListElementContinuationElement76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement76(stack["depth"]) +} + +func (c *current) onListElementContinuationElement84() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonListElementContinuationElement84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement84() +} + +func (c *current) onListElementContinuationElement86(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement86() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement86(stack["prefix"]) +} + +func (c *current) onListElementContinuationElement69(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonListElementContinuationElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement69(stack["prefix"]) +} + +func (c *current) onListElementContinuationElement97() (interface{}, error) { + return types.Unchecked, nil +} + +func (p *parser) callonListElementContinuationElement97() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement97() +} + +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) callonListElementContinuationElement103() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement103(stack["style"]) +} + +func (c *current) onListElementContinuationElement91(style interface{}) (interface{}, error) { + return style, nil + +} + +func (p *parser) callonListElementContinuationElement91() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement91(stack["style"]) +} + +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) callonListElementContinuationElement107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement107(stack["rawline"]) +} + +func (c *current) onListElementContinuationElement66(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) + +} + +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 (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.onListElementContinuationElement128() +} + +func (c *current) onListElementContinuationElement132(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement132(stack["ref"]) +} + +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 types.NewRawLine(string(c.text)) + +} + +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) callonListElementContinuationElement143() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement143() +} + +func (c *current) onListElementContinuationElement136(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonListElementContinuationElement136() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement136(stack["rawline"]) +} + +func (c *current) onListElementContinuationElement121(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) + +} + +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) callonListElementContinuationElement160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement160() +} + +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) callonListElementContinuationElement163() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement163(stack["separator"]) +} + +func (c *current) onListElementContinuationElement157(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonListElementContinuationElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement157(stack["separator"]) +} + +func (c *current) onListElementContinuationElement166() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement166() +} + +func (c *current) onListElementContinuationElement153() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonListElementContinuationElement153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement153() +} + +func (c *current) onListElementContinuationElement178() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement178() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement178() +} + +func (c *current) onListElementContinuationElement181(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) callonListElementContinuationElement181() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement181(stack["separator"]) +} + +func (c *current) onListElementContinuationElement175(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonListElementContinuationElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement175(stack["separator"]) +} + +func (c *current) onListElementContinuationElement187() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement187() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement187() +} + +func (c *current) onListElementContinuationElement190() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement190() +} + +func (c *current) onListElementContinuationElement204() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement204() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement204() +} + +func (c *current) onListElementContinuationElement207() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement207() +} + +func (c *current) onListElementContinuationElement198() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElementContinuationElement198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement198() +} + +func (c *current) onListElementContinuationElement224() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement224() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement224() +} + +func (c *current) onListElementContinuationElement228() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement228() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement228() +} + +func (c *current) onListElementContinuationElement218(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement218() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement218(stack["content"]) +} + +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) callonListElementContinuationElement217() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement217(stack["content"]) +} + +func (c *current) onListElementContinuationElement244() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement244() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement244() +} + +func (c *current) onListElementContinuationElement247() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement247() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement247() +} + +func (c *current) onListElementContinuationElement238() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElementContinuationElement238() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement238() +} + +func (c *current) onListElementContinuationElement258() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement258() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement258() +} + +func (c *current) onListElementContinuationElement260() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement260() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement260() +} + +func (c *current) onListElementContinuationElement269() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement269() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement269() +} + +func (c *current) onListElementContinuationElement276() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonListElementContinuationElement276() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement276() +} + +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) callonListElementContinuationElement279() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement279(stack["depth"]) +} + +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) callonListElementContinuationElement273() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement273(stack["depth"]) +} + +func (c *current) onListElementContinuationElement280() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonListElementContinuationElement280() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement280() +} + +func (c *current) onListElementContinuationElement285() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonListElementContinuationElement285() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement285() +} + +func (c *current) onListElementContinuationElement289() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonListElementContinuationElement289() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement289() +} + +func (c *current) onListElementContinuationElement293() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonListElementContinuationElement293() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement293() +} + +func (c *current) onListElementContinuationElement298() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonListElementContinuationElement298() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement298() +} + +func (c *current) onListElementContinuationElement303(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement303() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement303(stack["prefix"]) +} + +func (c *current) onListElementContinuationElement266(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonListElementContinuationElement266() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement266(stack["prefix"]) +} + +func (c *current) onListElementContinuationElement310() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement310() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement310() +} + +func (c *current) onListElementContinuationElement317() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonListElementContinuationElement317() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement317() +} + +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) callonListElementContinuationElement320() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement320(stack["depth"]) +} + +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) callonListElementContinuationElement314() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement314(stack["depth"]) +} + +func (c *current) onListElementContinuationElement322() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonListElementContinuationElement322() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement322() +} + +func (c *current) onListElementContinuationElement324(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement324() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement324(stack["prefix"]) +} + +func (c *current) onListElementContinuationElement307(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonListElementContinuationElement307() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement307(stack["prefix"]) +} + +func (c *current) onListElementContinuationElement332() (interface{}, error) { + return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonListElementContinuationElement332() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement332() +} + +func (c *current) onListElementContinuationElement336(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement336() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement336(stack["ref"]) +} + +func (c *current) onListElementContinuationElement328(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonListElementContinuationElement328() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement328(stack["ref"]) +} + +func (c *current) onListElementContinuationElement348() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement348() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement348() +} + +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) callonListElementContinuationElement351() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement351(stack["separator"]) +} + +func (c *current) onListElementContinuationElement345(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonListElementContinuationElement345() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement345(stack["separator"]) +} + +func (c *current) onListElementContinuationElement354() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement354() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement354() +} + +func (c *current) onListElementContinuationElement341() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonListElementContinuationElement341() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement341() +} + +func (c *current) onListElementContinuationElement365() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement365() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement365() +} + +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) callonListElementContinuationElement368() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement368(stack["separator"]) +} + +func (c *current) onListElementContinuationElement362(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonListElementContinuationElement362() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement362(stack["separator"]) +} + +func (c *current) onListElementContinuationElement379() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement379() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement379() +} + +func (c *current) onListElementContinuationElement385() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement385() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement385() +} + +func (c *current) onListElementContinuationElement388() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement388() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement388() +} + +func (c *current) onListElementContinuationElement376(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement376() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement376(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement398() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement398() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement398() +} + +func (c *current) onListElementContinuationElement404() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement404() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement404() +} + +func (c *current) onListElementContinuationElement407() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement407() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement407() +} + +func (c *current) onListElementContinuationElement395(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement395() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement395(stack["delimiter"]) +} + +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) callonListElementContinuationElement418() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement418() +} + +func (c *current) onListElementContinuationElement422() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement422() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement422() +} + +func (c *current) onListElementContinuationElement425() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement425() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement425() +} + +func (c *current) onListElementContinuationElement414(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonListElementContinuationElement414() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement414(stack["language"]) +} + +func (c *current) onListElementContinuationElement435() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement435() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement435() +} + +func (c *current) onListElementContinuationElement441() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement441() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement441() +} + +func (c *current) onListElementContinuationElement444() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement444() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement444() +} + +func (c *current) onListElementContinuationElement432(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement432() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement432(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement454() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement454() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement454() +} + +func (c *current) onListElementContinuationElement460() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement460() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement460() +} + +func (c *current) onListElementContinuationElement463() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement463() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement463() +} + +func (c *current) onListElementContinuationElement451(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement451() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement451(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement473() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement473() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement473() +} + +func (c *current) onListElementContinuationElement479() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement479() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement479() +} + +func (c *current) onListElementContinuationElement482() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement482() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement482() +} + +func (c *current) onListElementContinuationElement470(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement470() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement470(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement492() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement492() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement492() +} + +func (c *current) onListElementContinuationElement498() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement498() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement498() +} + +func (c *current) onListElementContinuationElement501() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement501() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement501() +} + +func (c *current) onListElementContinuationElement489(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement489() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement489(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement511() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement511() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement511() +} + +func (c *current) onListElementContinuationElement517() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement517() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement517() +} + +func (c *current) onListElementContinuationElement520() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement520() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement520() +} + +func (c *current) onListElementContinuationElement508(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement508() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement508(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement530() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement530() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement530() +} + +func (c *current) onListElementContinuationElement536() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement536() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement536() +} + +func (c *current) onListElementContinuationElement539() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement539() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement539() +} + +func (c *current) onListElementContinuationElement527(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement527() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement527(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement370(delimiter interface{}) (interface{}, error) { + return delimiter, nil + +} + +func (p *parser) callonListElementContinuationElement370() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement370(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement547() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + +} + +func (p *parser) callonListElementContinuationElement547() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement547() +} + +func (c *current) onListElementContinuationElement551() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement551() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement551() +} + +func (c *current) onListElementContinuationElement235(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement235() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement235(stack["content"]) +} + +func (c *current) onListElementContinuationElement184(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) + +} + +func (p *parser) callonListElementContinuationElement184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement184(stack["content"]) +} + +func (c *current) onListElementContinuationElement560() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement560() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement560() +} + +func (c *current) onListElementContinuationElement564() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement564() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement564() +} + +func (c *current) onListElementContinuationElement568() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement568() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement568() +} + +func (c *current) onListElementContinuationElement558(content interface{}) (interface{}, error) { + return types.NewParagraph(content) + +} + +func (p *parser) callonListElementContinuationElement558() (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) + +} + +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) onListElementContinuationElement586() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement586() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement586() +} + +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 (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.onListElementContinuationElement580() +} + +func (c *current) onListElementContinuationElement601() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement601() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement601() +} + +func (c *current) onListElementContinuationElement608() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement608() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement608() +} + +func (c *current) onListElementContinuationElement611() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement611() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement611() +} + +func (c *current) onListElementContinuationElement597(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement597() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement597(stack["name"]) +} + +func (c *current) onListElementContinuationElement622() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement622() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement622() +} + +func (c *current) onListElementContinuationElement629() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement629() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement629() +} + +func (c *current) onListElementContinuationElement632() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement632() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement632() +} + +func (c *current) onListElementContinuationElement618(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement618() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement618(stack["name"]) +} + +func (c *current) onListElementContinuationElement644() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement644() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement644() +} + +func (c *current) onListElementContinuationElement650() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement650() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement650() +} + +func (c *current) onListElementContinuationElement653() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement653() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement653() +} + +func (c *current) onListElementContinuationElement641(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement641() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement641(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement669() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement669() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement669() +} + +func (c *current) onListElementContinuationElement675() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement675() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement675() +} + +func (c *current) onListElementContinuationElement678() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement678() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement678() +} + +func (c *current) onListElementContinuationElement666(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement666() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement666(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement694() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement694() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement694() +} + +func (c *current) onListElementContinuationElement698() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement698() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement698() +} + +func (c *current) onListElementContinuationElement688(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement688() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement688(stack["content"]) +} + +func (c *current) onListElementContinuationElement662(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement662() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement662(stack["line"]) +} + +func (c *current) onListElementContinuationElement710() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement710() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement710() +} + +func (c *current) onListElementContinuationElement716() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement716() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement716() +} + +func (c *current) onListElementContinuationElement719() (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) { + 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{})) + +} + +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) onListElementContinuationElement734() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement734() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement734() +} + +func (c *current) onListElementContinuationElement740() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement740() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement740() +} + +func (c *current) onListElementContinuationElement743() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement743() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement743() +} + +func (c *current) onListElementContinuationElement731(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement731() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement731(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement750(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement750() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement750(stack["start"]) +} + +func (c *current) onListElementContinuationElement762() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement762() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement762() +} + +func (c *current) onListElementContinuationElement768() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement768() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement768() +} + +func (c *current) onListElementContinuationElement771() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement771() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement771() +} + +func (c *current) onListElementContinuationElement759(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement759() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement759(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement778(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement778() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement778(stack["end"]) +} + +func (c *current) onListElementContinuationElement788() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement788() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement788() +} + +func (c *current) onListElementContinuationElement792() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement792() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement792() +} + +func (c *current) onListElementContinuationElement782(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement782() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement782(stack["content"]) +} + +func (c *current) onListElementContinuationElement753(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement753() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement753(stack["line"]) +} + +func (c *current) onListElementContinuationElement807() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement807() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement807() +} + +func (c *current) onListElementContinuationElement813() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement813() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement813() +} + +func (c *current) onListElementContinuationElement816() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement816() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement816() +} + +func (c *current) onListElementContinuationElement804(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement804() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement804(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement823(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement823() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement823(stack["end"]) +} + +func (c *current) onListElementContinuationElement728(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Example, content.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement728() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement728(stack["start"], stack["content"], stack["end"]) +} + +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) callonListElementContinuationElement833() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement833() +} + +func (c *current) onListElementContinuationElement837() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement837() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement837() +} + +func (c *current) onListElementContinuationElement840() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement840() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement840() +} + +func (c *current) onListElementContinuationElement829(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonListElementContinuationElement829() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement829(stack["language"]) +} + +func (c *current) onListElementContinuationElement855() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement855() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement855() +} + +func (c *current) onListElementContinuationElement858() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement858() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement858() +} + +func (c *current) onListElementContinuationElement872() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement872() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement872() +} + +func (c *current) onListElementContinuationElement876() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement876() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement876() +} + +func (c *current) onListElementContinuationElement866(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement866() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement866(stack["content"]) +} + +func (c *current) onListElementContinuationElement849(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement849() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement849(stack["line"]) +} + +func (c *current) onListElementContinuationElement887() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement887() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement887() +} + +func (c *current) onListElementContinuationElement890() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement890() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement890() +} + +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) callonListElementContinuationElement826() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement826(stack["delimiter"], stack["content"]) +} + +func (c *current) onListElementContinuationElement903() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement903() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement903() +} + +func (c *current) onListElementContinuationElement909() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement909() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement909() +} + +func (c *current) onListElementContinuationElement912() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement912() (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)) + +} + +func (p *parser) callonListElementContinuationElement900() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement900(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement919(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement919() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement919(stack["start"]) +} + +func (c *current) onListElementContinuationElement931() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement931() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement931() +} + +func (c *current) onListElementContinuationElement937() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement937() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement937() +} + +func (c *current) onListElementContinuationElement940() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement940() (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)) + +} + +func (p *parser) callonListElementContinuationElement928() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement928(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement947(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement947() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement947(stack["end"]) +} + +func (c *current) onListElementContinuationElement957() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement957() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement957() +} + +func (c *current) onListElementContinuationElement961() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement961() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement961() +} + +func (c *current) onListElementContinuationElement951(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement951() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement951(stack["content"]) +} + +func (c *current) onListElementContinuationElement922(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement922() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement922(stack["line"]) +} + +func (c *current) onListElementContinuationElement976() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement976() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement976() +} + +func (c *current) onListElementContinuationElement982() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement982() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement982() +} + +func (c *current) onListElementContinuationElement985() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement985() (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)) + +} + +func (p *parser) callonListElementContinuationElement973() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement973(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement992(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement992() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement992(stack["end"]) +} + +func (c *current) onListElementContinuationElement897(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement897() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement897(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onListElementContinuationElement1001() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1001() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1001() +} + +func (c *current) onListElementContinuationElement1007() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1007() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1007() +} + +func (c *current) onListElementContinuationElement1010() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1010() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1010() +} + +func (c *current) onListElementContinuationElement998(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement998() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement998(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1017(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1017() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1017(stack["start"]) +} + +func (c *current) onListElementContinuationElement1029() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1029() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1029() +} + +func (c *current) onListElementContinuationElement1035() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1035() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1035() +} + +func (c *current) onListElementContinuationElement1038() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1038() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1038() +} + +func (c *current) onListElementContinuationElement1026(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1026() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1026(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1045(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1045() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1045(stack["end"]) +} + +func (c *current) onListElementContinuationElement1055() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1055() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1055() +} + +func (c *current) onListElementContinuationElement1059() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1059() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1059() +} + +func (c *current) onListElementContinuationElement1049(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1049() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1049(stack["content"]) +} + +func (c *current) onListElementContinuationElement1020(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement1020() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1020(stack["line"]) +} + +func (c *current) onListElementContinuationElement1074() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1074() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1074() +} + +func (c *current) onListElementContinuationElement1080() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1080() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1080() +} + +func (c *current) onListElementContinuationElement1083() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1083() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1083() +} + +func (c *current) onListElementContinuationElement1071(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1071() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1071(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1090(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1090() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1090(stack["end"]) +} + +func (c *current) onListElementContinuationElement995(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement995() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement995(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onListElementContinuationElement1099() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1099() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1099() +} + +func (c *current) onListElementContinuationElement1105() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1105() +} + +func (c *current) onListElementContinuationElement1108() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1108() +} + +func (c *current) onListElementContinuationElement1096(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1096() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1096(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1115(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1115() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1115(stack["start"]) +} + +func (c *current) onListElementContinuationElement1127() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1127() +} + +func (c *current) onListElementContinuationElement1133() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1133() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1133() +} + +func (c *current) onListElementContinuationElement1136() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1136() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1136() +} + +func (c *current) onListElementContinuationElement1124(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1124() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1124(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1143(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1143() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1143(stack["end"]) +} + +func (c *current) onListElementContinuationElement1153() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1153() +} + +func (c *current) onListElementContinuationElement1157() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1147(stack["content"]) +} + +func (c *current) onListElementContinuationElement1118(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement1118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1118(stack["line"]) +} + +func (c *current) onListElementContinuationElement1172() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1172() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1172() +} + +func (c *current) onListElementContinuationElement1178() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1178() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1178() +} + +func (c *current) onListElementContinuationElement1181() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1181() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1181() +} + +func (c *current) onListElementContinuationElement1169(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1169(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1188(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1188() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1188(stack["end"]) +} + +func (c *current) onListElementContinuationElement1093(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement1093() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1093(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onListElementContinuationElement1203() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1203() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1203() +} + +func (c *current) onListElementContinuationElement1206() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1197() +} + +func (c *current) onListElementContinuationElement1215() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1215() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1215() +} + +func (c *current) onListElementContinuationElement1219() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1219() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1219() +} + +func (c *current) onListElementContinuationElement1194(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1194() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1194(stack["content"]) +} + +func (c *current) onListElementContinuationElement1238() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1238() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1238() +} + +func (c *current) onListElementContinuationElement1241() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1241() +} + +func (c *current) onListElementContinuationElement1232() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElementContinuationElement1232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1232() +} + +func (c *current) onListElementContinuationElement1250() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1250() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1250() +} + +func (c *current) onListElementContinuationElement1254() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1254() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1254() +} + +func (c *current) onListElementContinuationElement1229(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1229() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1229(stack["content"]) +} + +func (c *current) onListElementContinuationElement1264() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonListElementContinuationElement1264() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1264() +} + +func (c *current) onListElementContinuationElement1267(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonListElementContinuationElement1267() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1267(stack["content"]) +} + +func (c *current) onListElementContinuationElement1269() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1269() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1269() +} + +func (c *current) onListElementContinuationElement1261(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1261() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1261(stack["content"]) +} + +func (c *current) onListElementContinuationElement1191(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + +} + +func (p *parser) callonListElementContinuationElement1191() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1191(stack["firstLine"], stack["otherLines"]) +} + +func (c *current) onListElementContinuationElement1282() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1282() +} + +func (c *current) onListElementContinuationElement1288() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1288() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1288() +} + +func (c *current) onListElementContinuationElement1291() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1291() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1291() +} + +func (c *current) onListElementContinuationElement1279(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1279() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1279(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1298(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1298() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1298(stack["start"]) +} + +func (c *current) onListElementContinuationElement1310() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1310() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1310() +} + +func (c *current) onListElementContinuationElement1316() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1316() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1316() +} + +func (c *current) onListElementContinuationElement1319() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1319() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1319() +} + +func (c *current) onListElementContinuationElement1307(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1307() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1307(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1326(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1326() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1326(stack["end"]) +} + +func (c *current) onListElementContinuationElement1336() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1336() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1336() +} + +func (c *current) onListElementContinuationElement1340() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1340() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1340() +} + +func (c *current) onListElementContinuationElement1330(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1330() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1330(stack["content"]) +} + +func (c *current) onListElementContinuationElement1301(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement1301() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1301(stack["line"]) +} + +func (c *current) onListElementContinuationElement1355() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1355() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1355() +} + +func (c *current) onListElementContinuationElement1361() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1361() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1361() +} + +func (c *current) onListElementContinuationElement1364() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1364() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1364() +} + +func (c *current) onListElementContinuationElement1352(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1352() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1352(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1371(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1371() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1371(stack["end"]) +} + +func (c *current) onListElementContinuationElement1276(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement1276() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1276(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onListElementContinuationElement1380() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1380() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1380() +} + +func (c *current) onListElementContinuationElement1386() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1386() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1386() +} + +func (c *current) onListElementContinuationElement1389() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1389() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1389() +} + +func (c *current) onListElementContinuationElement1377(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1377() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1377(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1396(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1396() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1396(stack["start"]) +} + +func (c *current) onListElementContinuationElement1408() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1408() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1408() +} + +func (c *current) onListElementContinuationElement1414() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1414() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1414() +} + +func (c *current) onListElementContinuationElement1417() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1417() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1417() +} + +func (c *current) onListElementContinuationElement1405(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1405() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1405(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1424(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1424() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1424(stack["end"]) +} + +func (c *current) onListElementContinuationElement1434() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1434() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1434() +} + +func (c *current) onListElementContinuationElement1438() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1438() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1438() +} + +func (c *current) onListElementContinuationElement1428(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1428() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1428(stack["content"]) +} + +func (c *current) onListElementContinuationElement1399(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement1399() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1399(stack["line"]) +} + +func (c *current) onListElementContinuationElement1453() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1453() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1453() +} + +func (c *current) onListElementContinuationElement1459() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1459() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1459() +} + +func (c *current) onListElementContinuationElement1462() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1462() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1462() +} + +func (c *current) onListElementContinuationElement1450(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1450() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1450(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1469(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1469() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1469(stack["end"]) +} + +func (c *current) onListElementContinuationElement1374(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement1374() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1374(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onListElementContinuationElement1478() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1478() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1478() +} + +func (c *current) onListElementContinuationElement1484() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1484() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1484() +} + +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 (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.onListElementContinuationElement1475(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1494(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1494() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1494(stack["start"]) +} + +func (c *current) onListElementContinuationElement1506() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1506() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1506() +} + +func (c *current) onListElementContinuationElement1512() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1512() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1512() +} + +func (c *current) onListElementContinuationElement1515() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1515() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1515() +} + +func (c *current) onListElementContinuationElement1503(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1503() (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) + +} + +func (p *parser) callonListElementContinuationElement1522() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1522(stack["end"]) +} + +func (c *current) onListElementContinuationElement1532() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1532() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1532() +} + +func (c *current) onListElementContinuationElement1536() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1536() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1536() +} + +func (c *current) onListElementContinuationElement1526(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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1497(stack["line"]) +} + +func (c *current) onListElementContinuationElement1551() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1551() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1551() +} + +func (c *current) onListElementContinuationElement1557() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1557() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1557() +} + +func (c *current) onListElementContinuationElement1560() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1560() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1560() +} + +func (c *current) onListElementContinuationElement1548(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonListElementContinuationElement1548() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1548(stack["delimiter"]) +} + +func (c *current) onListElementContinuationElement1567(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + +} + +func (p *parser) callonListElementContinuationElement1567() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1567(stack["end"]) +} + +func (c *current) onListElementContinuationElement1472(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement1472() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1472(stack["start"], stack["content"], stack["end"]) +} + +func (c *current) onListElementContinuationElement1581() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1581() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1581() +} + +func (c *current) onListElementContinuationElement1584() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1584() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1584() +} + +func (c *current) onListElementContinuationElement1592() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1592() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1592() +} + +func (c *current) onListElementContinuationElement1570() (interface{}, error) { + + return types.NewThematicBreak() + +} + +func (p *parser) callonListElementContinuationElement1570() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1570() +} + +func (c *current) onListElementContinuationElement1604() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1604() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1604() +} + +func (c *current) onListElementContinuationElement1607() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1607() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1607() +} + +func (c *current) onListElementContinuationElement1624() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1624() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1624() +} + +func (c *current) onListElementContinuationElement1630() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1630() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1630() +} + +func (c *current) onListElementContinuationElement1628(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1628() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1628(stack["content"]) +} + +func (c *current) onListElementContinuationElement1620(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) + +} + +func (p *parser) callonListElementContinuationElement1620() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1620(stack["content"]) +} + +func (c *current) onListElementContinuationElement1634() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1634() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1634() +} + +func (c *current) onListElementContinuationElement1648() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1648() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1648() +} + +func (c *current) onListElementContinuationElement1651() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1651() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1651() +} + +func (c *current) onListElementContinuationElement1642() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElementContinuationElement1642() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1642() +} + +func (c *current) onListElementContinuationElement1616(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement1616() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1616(stack["cells"]) +} + +func (c *current) onListElementContinuationElement1668() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1668() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1668() +} + +func (c *current) onListElementContinuationElement1671() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1671() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1671() +} + +func (c *current) onListElementContinuationElement1692() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1692() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1692() +} + +func (c *current) onListElementContinuationElement1695() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1695() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1695() +} + +func (c *current) onListElementContinuationElement1711() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1711() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1711() +} + +func (c *current) onListElementContinuationElement1714() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1714() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1714() +} + +func (c *current) onListElementContinuationElement1705() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElementContinuationElement1705() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1705() +} + +func (c *current) onListElementContinuationElement1723() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1723() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1723() +} + +func (c *current) onListElementContinuationElement1729() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1729() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1729() +} + +func (c *current) onListElementContinuationElement1727(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1727() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1727(stack["content"]) +} + +func (c *current) onListElementContinuationElement1685(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) + +} + +func (p *parser) callonListElementContinuationElement1685() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1685(stack["content"]) +} + +func (c *current) onListElementContinuationElement1733() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1733() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1733() +} + +func (c *current) onListElementContinuationElement1682(cell interface{}) (interface{}, error) { + return cell, nil + +} + +func (p *parser) callonListElementContinuationElement1682() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1682(stack["cell"]) +} + +func (c *current) onListElementContinuationElement1748() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1748() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1748() +} + +func (c *current) onListElementContinuationElement1751() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1751() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1751() +} + +func (c *current) onListElementContinuationElement1742() (interface{}, error) { + return types.NewBlankLine() + +} + +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) callonListElementContinuationElement1763() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1763() +} + +func (c *current) onListElementContinuationElement1766() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1766() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1766() +} + +func (c *current) onListElementContinuationElement1661(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement1661() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1661(stack["cells"]) +} + +func (c *current) onListElementContinuationElement1782() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1782() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1782() +} + +func (c *current) onListElementContinuationElement1785() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1785() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1785() +} + +func (c *current) onListElementContinuationElement1803() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1803() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1803() +} + +func (c *current) onListElementContinuationElement1806() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1806() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1806() +} + +func (c *current) onListElementContinuationElement1822() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1822() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1822() +} + +func (c *current) onListElementContinuationElement1825() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1825() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1825() +} + +func (c *current) onListElementContinuationElement1816() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElementContinuationElement1816() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1816() +} + +func (c *current) onListElementContinuationElement1834() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1834() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1834() +} + +func (c *current) onListElementContinuationElement1840() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1840() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1840() +} + +func (c *current) onListElementContinuationElement1838(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1838() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1838(stack["content"]) +} + +func (c *current) onListElementContinuationElement1796(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) + +} + +func (p *parser) callonListElementContinuationElement1796() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1796(stack["content"]) +} + +func (c *current) onListElementContinuationElement1844() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1844() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1844() +} + +func (c *current) onListElementContinuationElement1858() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1858() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1858() +} + +func (c *current) onListElementContinuationElement1861() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1861() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1861() +} + +func (c *current) onListElementContinuationElement1852() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonListElementContinuationElement1852() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1852() +} + +func (c *current) onListElementContinuationElement1775(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement1775() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1775(stack["cells"]) +} + +func (c *current) onListElementContinuationElement1872() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1872() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1872() +} + +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.onListElementContinuationElement1875() +} + +func (c *current) onListElementContinuationElement1600(header, rows interface{}) (interface{}, error) { + return types.NewTable(header, rows.([]interface{})) + +} + +func (p *parser) callonListElementContinuationElement1600() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1600(stack["header"], stack["rows"]) +} + +func (c *current) onListElementContinuationElement1890() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1890() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1890() +} + +func (c *current) onListElementContinuationElement1894() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1894() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1894() +} + +func (c *current) onListElementContinuationElement1884(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1884() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1884(stack["content"]) +} + +func (c *current) onListElementContinuationElement1905() (interface{}, error) { + return types.Tip, nil +} + +func (p *parser) callonListElementContinuationElement1905() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1905() +} + +func (c *current) onListElementContinuationElement1907() (interface{}, error) { + return types.Note, nil +} + +func (p *parser) callonListElementContinuationElement1907() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1907() +} + +func (c *current) onListElementContinuationElement1909() (interface{}, error) { + return types.Important, nil +} + +func (p *parser) callonListElementContinuationElement1909() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1909() +} + +func (c *current) onListElementContinuationElement1911() (interface{}, error) { + return types.Warning, nil +} + +func (p *parser) callonListElementContinuationElement1911() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1911() +} + +func (c *current) onListElementContinuationElement1913() (interface{}, error) { + return types.Caution, nil +} + +func (p *parser) callonListElementContinuationElement1913() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1913() +} + +func (c *current) onListElementContinuationElement1920() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonListElementContinuationElement1920() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1920() +} + +func (c *current) onListElementContinuationElement1923(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonListElementContinuationElement1923() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1923(stack["content"]) +} + +func (c *current) onListElementContinuationElement1925() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1925() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1925() +} + +func (c *current) onListElementContinuationElement1917(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1917() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1917(stack["content"]) +} + +func (c *current) onListElementContinuationElement1940() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1940() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1940() +} + +func (c *current) onListElementContinuationElement1942() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1942() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1942() +} + +func (c *current) onListElementContinuationElement1955() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1955() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1955() +} + +func (c *current) onListElementContinuationElement1959() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1959() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1959() +} + +func (c *current) onListElementContinuationElement1949(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1949() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1949(stack["content"]) +} + +func (c *current) onListElementContinuationElement1969() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonListElementContinuationElement1969() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1969() +} + +func (c *current) onListElementContinuationElement1972(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonListElementContinuationElement1972() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1972(stack["content"]) +} + +func (c *current) onListElementContinuationElement1974() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1974() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1974() +} + +func (c *current) onListElementContinuationElement1966(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1966() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1966(stack["content"]) +} + +func (c *current) onListElementContinuationElement1934(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonListElementContinuationElement1934() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1934(stack["line"]) +} + +func (c *current) onListElementContinuationElement1901(kind, firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) + +} + +func (p *parser) callonListElementContinuationElement1901() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1901(stack["kind"], stack["firstLine"], stack["otherLines"]) +} + +func (c *current) onListElementContinuationElement1989() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1989() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1989() +} + +func (c *current) onListElementContinuationElement1987() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement1987() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1987() +} + +func (c *current) onListElementContinuationElement1994(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil + +} + +func (p *parser) callonListElementContinuationElement1994() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1994(stack["content"]) +} + +func (c *current) onListElementContinuationElement1996() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1996() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1996() +} + +func (c *current) onListElementContinuationElement1984(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement1984() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1984(stack["content"]) +} + +func (c *current) onListElementContinuationElement2012() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement2012() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2012() +} + +func (c *current) onListElementContinuationElement2016() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement2016() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2016() +} + +func (c *current) onListElementContinuationElement2006(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement2006() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2006(stack["content"]) +} + +func (c *current) onListElementContinuationElement2026() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonListElementContinuationElement2026() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2026() +} + +func (c *current) onListElementContinuationElement2029(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonListElementContinuationElement2029() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2029(stack["content"]) +} + +func (c *current) onListElementContinuationElement2031() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement2031() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2031() +} + +func (c *current) onListElementContinuationElement2023(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListElementContinuationElement2023() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2023(stack["content"]) +} + +func (c *current) onListElementContinuationElement1981(firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + +} + +func (p *parser) callonListElementContinuationElement1981() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1981(stack["firstLine"], stack["otherLines"]) +} + +func (c *current) onListElementContinuationElement2041() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElementContinuationElement2041() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2041() +} + +func (c *current) onListElementContinuationElement2045() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement2045() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement2045() +} + +func (c *current) onListElementContinuationElement2038(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewParagraph(types.RawLine(content.(string))) + +} + +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) callonListElementContinuationElement1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1(stack["attributes"], stack["element"]) +} + +func (c *current) onCallout3() (bool, error) { + return c.isSubstitutionEnabled(Callouts), nil + +} + +func (p *parser) callonCallout3() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCallout3() +} + +func (c *current) onCallout6() (interface{}, error) { + return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonCallout6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCallout6() +} + +func (c *current) onCallout11() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonCallout11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCallout11() +} + +func (c *current) onCallout15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonCallout15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCallout15() +} + +func (c *current) onCallout1(ref interface{}) (interface{}, error) { + return types.NewCallout(ref.(int)) + +} + +func (p *parser) callonCallout1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onCallout1(stack["ref"]) +} + +func (c *current) onShortcutParagraph10() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortcutParagraph10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph10() +} + +func (c *current) onShortcutParagraph17() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonShortcutParagraph17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph17() +} + +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) callonShortcutParagraph20() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph20(stack["depth"]) +} + +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) callonShortcutParagraph14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph14(stack["depth"]) +} + +func (c *current) onShortcutParagraph21() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + +} + +func (p *parser) callonShortcutParagraph21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph21() +} + +func (c *current) onShortcutParagraph26() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + +} + +func (p *parser) callonShortcutParagraph26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph26() +} + +func (c *current) onShortcutParagraph30() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + +} + +func (p *parser) callonShortcutParagraph30() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph30() +} + +func (c *current) onShortcutParagraph34() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + +} + +func (p *parser) callonShortcutParagraph34() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph34() +} + +func (c *current) onShortcutParagraph39() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + +} + +func (p *parser) callonShortcutParagraph39() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph39() +} + +func (c *current) onShortcutParagraph44(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonShortcutParagraph44() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph44(stack["prefix"]) +} + +func (c *current) onShortcutParagraph7(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonShortcutParagraph7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph7(stack["prefix"]) +} + +func (c *current) onShortcutParagraph52() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortcutParagraph52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph52() +} + +func (c *current) onShortcutParagraph59() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + +} + +func (p *parser) callonShortcutParagraph59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph59() +} + +func (c *current) onShortcutParagraph62(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil + +} + +func (p *parser) callonShortcutParagraph62() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph62(stack["depth"]) +} + +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) callonShortcutParagraph56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph56(stack["depth"]) +} + +func (c *current) onShortcutParagraph64() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + +} + +func (p *parser) callonShortcutParagraph64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph64() +} + +func (c *current) onShortcutParagraph66(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonShortcutParagraph66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph66(stack["prefix"]) +} + +func (c *current) onShortcutParagraph49(prefix interface{}) (interface{}, error) { + return prefix, nil +} + +func (p *parser) callonShortcutParagraph49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph49(stack["prefix"]) +} + +func (c *current) onShortcutParagraph72() (interface{}, error) { + return types.Tip, nil +} + +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) callonShortcutParagraph74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph74() +} + +func (c *current) onShortcutParagraph76() (interface{}, error) { + return types.Important, nil +} + +func (p *parser) callonShortcutParagraph76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph76() +} + +func (c *current) onShortcutParagraph78() (interface{}, error) { + return types.Warning, nil +} + +func (p *parser) callonShortcutParagraph78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph78() +} + +func (c *current) onShortcutParagraph80() (interface{}, error) { + return types.Caution, nil +} + +func (p *parser) callonShortcutParagraph80() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph80() +} + +func (c *current) onShortcutParagraph86() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonShortcutParagraph86() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph86() +} + +func (c *current) onShortcutParagraph89(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonShortcutParagraph89() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph89(stack["content"]) +} + +func (c *current) onShortcutParagraph91() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonShortcutParagraph91() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph91() +} + +func (c *current) onShortcutParagraph83(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonShortcutParagraph83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph83(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 (p *parser) callonShortcutParagraph98() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph98(stack["firstLine"]) +} + +func (c *current) onShortcutParagraph113() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortcutParagraph113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph113() +} + +func (c *current) onShortcutParagraph116() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonShortcutParagraph116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph116() +} + +func (c *current) onShortcutParagraph107() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonShortcutParagraph107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph107() +} + +func (c *current) onShortcutParagraph129() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortcutParagraph129() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph129() +} + +func (c *current) onShortcutParagraph131() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonShortcutParagraph131() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph131() +} + +func (c *current) onShortcutParagraph144() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonShortcutParagraph144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph144() +} + +func (c *current) onShortcutParagraph148() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonShortcutParagraph148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph148() +} + +func (c *current) onShortcutParagraph138(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonShortcutParagraph138() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph138(stack["content"]) +} + +func (c *current) onShortcutParagraph158() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonShortcutParagraph158() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph158() +} + +func (c *current) onShortcutParagraph161(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonShortcutParagraph161() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph161(stack["content"]) +} + +func (c *current) onShortcutParagraph163() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonShortcutParagraph163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph163() +} + +func (c *current) onShortcutParagraph155(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonShortcutParagraph155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph155(stack["content"]) +} + +func (c *current) onShortcutParagraph101(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonShortcutParagraph101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph101(stack["line"]) +} + +func (c *current) onShortcutParagraph1(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) + +} + +func (p *parser) callonShortcutParagraph1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph1(stack["firstLine"], stack["otherLines"]) +} + +func (c *current) onParagraph7() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonParagraph7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph7() +} + +func (c *current) onParagraph10(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonParagraph10() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph10(stack["content"]) +} + +func (c *current) onParagraph12() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonParagraph12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph12() +} + +func (c *current) onParagraph4(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonParagraph4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph4(stack["content"]) +} + +func (c *current) onParagraph33() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonParagraph33() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph33() +} + +func (c *current) onParagraph36() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonParagraph36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph36() +} + +func (c *current) onParagraph27() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonParagraph27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph27() +} + +func (c *current) onParagraph49() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonParagraph49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph49() +} + +func (c *current) onParagraph51() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonParagraph51() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph51() +} + +func (c *current) onParagraph64() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonParagraph64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph64() +} + +func (c *current) onParagraph68() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonParagraph68() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph68() +} + +func (c *current) onParagraph58(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + +} + +func (p *parser) callonParagraph58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph58(stack["content"]) +} + +func (c *current) onParagraph78() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + +} + +func (p *parser) callonParagraph78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph78() +} + +func (c *current) onParagraph81(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + +} + +func (p *parser) callonParagraph81() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph81(stack["content"]) +} + +func (c *current) onParagraph83() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonParagraph83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph83() +} + +func (c *current) onParagraph75(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonParagraph75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph75(stack["content"]) +} + +func (c *current) onParagraph21(line interface{}) (interface{}, error) { + return line, nil + +} + +func (p *parser) callonParagraph21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph21(stack["line"]) +} + +func (c *current) onParagraph1(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) + +} + +func (p *parser) callonParagraph1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph1(stack["firstLine"], stack["otherLines"]) +} + +func (c *current) onQuotedText6() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonQuotedText6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedText6() +} + +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) callonQuotedText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedText2(stack["attributes"], stack["text"]) +} + +func (c *current) onQuotedText10(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + +} + +func (p *parser) callonQuotedText10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedText10(stack["attributes"], stack["text"]) +} + +func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonEscapedQuotedText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedQuotedText1(stack["element"]) +} + +func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) + +} + +func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldText1(stack["elements"]) +} + +func (c *current) onDoubleQuoteBoldTextElement13() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement13() +} + +func (c *current) onDoubleQuoteBoldTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement7() +} + +func (c *current) onDoubleQuoteBoldTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement16() +} + +func (c *current) onDoubleQuoteBoldTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteBoldTextElement20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement20() +} + +func (c *current) onDoubleQuoteBoldTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteBoldTextElement26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement26() +} + +func (c *current) onDoubleQuoteBoldTextElement33() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement33() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement33() +} + +func (c *current) onDoubleQuoteBoldTextElement40() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement40() +} + +func (c *current) onDoubleQuoteBoldTextElement52() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement52() +} + +func (c *current) onDoubleQuoteBoldTextElement54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement54() +} + +func (c *current) onDoubleQuoteBoldTextElement47(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement47(stack["start"]) +} + +func (c *current) onDoubleQuoteBoldTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonDoubleQuoteBoldTextElement36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement36(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteBoldTextElement62() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement62() +} + +func (c *current) onDoubleQuoteBoldTextElement74() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement74() +} + +func (c *current) onDoubleQuoteBoldTextElement76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement76() +} + +func (c *current) onDoubleQuoteBoldTextElement69(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement69(stack["start"]) +} + +func (c *current) onDoubleQuoteBoldTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonDoubleQuoteBoldTextElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement58(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteBoldTextElement84() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement84() +} + +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 (p *parser) callonDoubleQuoteBoldTextElement80() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement80(stack["name"]) +} + +func (c *current) onDoubleQuoteBoldTextElement94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement94() +} + +func (c *current) onDoubleQuoteBoldTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement90(stack["name"]) +} + +func (c *current) onDoubleQuoteBoldTextElement31(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement31(stack["element"]) +} + +func (c *current) onDoubleQuoteBoldTextElement105() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement105() +} + +func (c *current) onDoubleQuoteBoldTextElement107() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement107() +} + +func (c *current) onDoubleQuoteBoldTextElement109() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement109() +} + +func (c *current) onDoubleQuoteBoldTextElement111() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement111() +} + +func (c *current) onDoubleQuoteBoldTextElement113() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement113() +} + +func (c *current) onDoubleQuoteBoldTextElement115() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement115() +} + +func (c *current) onDoubleQuoteBoldTextElement117() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement117() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement117() +} + +func (c *current) onDoubleQuoteBoldTextElement119() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement119() +} + +func (c *current) onDoubleQuoteBoldTextElement121() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement121() +} + +func (c *current) onDoubleQuoteBoldTextElement125() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement125() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement125() +} + +func (c *current) onDoubleQuoteBoldTextElement128() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement128() +} + +func (c *current) onDoubleQuoteBoldTextElement132() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteBoldTextElement132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement132() +} + +func (c *current) onDoubleQuoteBoldTextElement123() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement123() +} + +func (c *current) onDoubleQuoteBoldTextElement141() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement141() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement141() +} + +func (c *current) onDoubleQuoteBoldTextElement146() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteBoldTextElement146() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement146() +} + +func (c *current) onDoubleQuoteBoldTextElement139() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement139() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement139() +} + +func (c *current) onDoubleQuoteBoldTextElement153() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement153() +} + +func (c *current) onDoubleQuoteBoldTextElement155() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement155() +} + +func (c *current) onDoubleQuoteBoldTextElement157() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement157() +} + +func (c *current) onDoubleQuoteBoldTextElement101() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement101() +} + +func (c *current) onDoubleQuoteBoldTextElement159() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement159() +} + +func (c *current) onDoubleQuoteBoldTextElement161() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement161() +} + +func (c *current) onDoubleQuoteBoldTextElement163() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement163() +} + +func (c *current) onDoubleQuoteBoldTextElement165() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement165() +} + +func (c *current) onDoubleQuoteBoldTextElement167() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement167() +} + +func (c *current) onDoubleQuoteBoldTextElement169() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement169() +} + +func (c *current) onDoubleQuoteBoldTextElement171() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement171() +} + +func (c *current) onDoubleQuoteBoldTextElement173() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement173() +} + +func (c *current) onDoubleQuoteBoldTextElement177() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement177() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement177() +} + +func (c *current) onDoubleQuoteBoldTextElement180() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement180() +} + +func (c *current) onDoubleQuoteBoldTextElement184() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteBoldTextElement184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement184() +} + +func (c *current) onDoubleQuoteBoldTextElement175() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement175() +} + +func (c *current) onDoubleQuoteBoldTextElement193() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement193() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement193() +} + +func (c *current) onDoubleQuoteBoldTextElement198() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteBoldTextElement198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement198() +} + +func (c *current) onDoubleQuoteBoldTextElement191() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement191() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement191() +} + +func (c *current) onDoubleQuoteBoldTextElement205() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement205() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement205() +} + +func (c *current) onDoubleQuoteBoldTextElement207() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement207() +} + +func (c *current) onDoubleQuoteBoldTextElement209() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement209() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement209() +} + +func (c *current) onDoubleQuoteBoldTextElement211() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement211() +} + +func (c *current) onDoubleQuoteBoldTextElement213() (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) callonDoubleQuoteBoldTextElement213() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement213() +} + +func (c *current) onDoubleQuoteBoldTextElement219() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement219() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement219() +} + +func (c *current) onDoubleQuoteBoldTextElement227() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement227() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement227() +} + +func (c *current) onDoubleQuoteBoldTextElement236() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement236() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement236() +} + +func (c *current) onDoubleQuoteBoldTextElement240() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement240() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement240() +} + +func (c *current) onDoubleQuoteBoldTextElement246() (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) callonDoubleQuoteBoldTextElement246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement246() +} + +func (c *current) onDoubleQuoteBoldTextElement255() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement255() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement255() +} + +func (c *current) onDoubleQuoteBoldTextElement251(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) callonDoubleQuoteBoldTextElement251() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement251(stack["name"]) +} + +func (c *current) onDoubleQuoteBoldTextElement265() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement265() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement265() +} + +func (c *current) onDoubleQuoteBoldTextElement261(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement261() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement261(stack["name"]) +} + +func (c *current) onDoubleQuoteBoldTextElement271() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement271() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement271() +} + +func (c *current) onDoubleQuoteBoldTextElement232(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement232(stack["id"], stack["label"]) +} + +func (c *current) onDoubleQuoteBoldTextElement278() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement278() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement278() +} + +func (c *current) onDoubleQuoteBoldTextElement274(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement274() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement274(stack["id"]) +} + +func (c *current) onDoubleQuoteBoldTextElement230() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement230() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement230() +} + +func (c *current) onDoubleQuoteBoldTextElement282() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement282() +} + +func (c *current) onDoubleQuoteBoldTextElement225(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement225(stack["element"]) +} + +func (c *current) onDoubleQuoteBoldTextElement289() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteBoldTextElement289() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement289() +} + +func (c *current) onDoubleQuoteBoldTextElement285(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonDoubleQuoteBoldTextElement285() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement285(stack["ref"]) +} + +func (c *current) onDoubleQuoteBoldTextElement297() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement297() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement297() +} + +func (c *current) onDoubleQuoteBoldTextElement294() (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) callonDoubleQuoteBoldTextElement294() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement294() +} + +func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + +} + +func (p *parser) callonQuotedTextInDoubleQuoteBoldText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleQuoteBoldText1(stack["attributes"], stack["text"]) +} + +func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) + +} + +func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldText1(stack["elements"]) +} + +func (c *current) onSingleQuoteBoldTextElements7() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElements7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElements7() +} + +func (c *current) onSingleQuoteBoldTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces + +} + +func (p *parser) callonSingleQuoteBoldTextElements12() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElements12(stack["elements"]) +} + +func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { + return elements, nil + +} + +func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) +} + +func (c *current) onSingleQuoteBoldTextElement8() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement8() +} + +func (c *current) onSingleQuoteBoldTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement2() +} + +func (c *current) onSingleQuoteBoldTextElement11() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement11() +} + +func (c *current) onSingleQuoteBoldTextElement15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement15() +} + +func (c *current) onSingleQuoteBoldTextElement21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement21() +} + +func (c *current) onSingleQuoteBoldTextElement28() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement28() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement28() +} + +func (c *current) onSingleQuoteBoldTextElement35() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement35() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement35() +} + +func (c *current) onSingleQuoteBoldTextElement47() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement47() +} + +func (c *current) onSingleQuoteBoldTextElement49() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement49() +} + +func (c *current) onSingleQuoteBoldTextElement42(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement42() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement42(stack["start"]) +} + +func (c *current) onSingleQuoteBoldTextElement31(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonSingleQuoteBoldTextElement31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement31(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuoteBoldTextElement57() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement57() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement57() +} + +func (c *current) onSingleQuoteBoldTextElement69() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement69() +} + +func (c *current) onSingleQuoteBoldTextElement71() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement71() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement71() +} + +func (c *current) onSingleQuoteBoldTextElement64(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement64(stack["start"]) +} + +func (c *current) onSingleQuoteBoldTextElement53(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonSingleQuoteBoldTextElement53() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement53(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuoteBoldTextElement79() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement79() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement79() +} + +func (c *current) onSingleQuoteBoldTextElement75(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) callonSingleQuoteBoldTextElement75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement75(stack["name"]) +} + +func (c *current) onSingleQuoteBoldTextElement89() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement89() +} + +func (c *current) onSingleQuoteBoldTextElement85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement85(stack["name"]) +} + +func (c *current) onSingleQuoteBoldTextElement26(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement26(stack["element"]) +} + +func (c *current) onSingleQuoteBoldTextElement100() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteBoldTextElement100() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement100() +} + +func (c *current) onSingleQuoteBoldTextElement102() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteBoldTextElement102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement102() +} + +func (c *current) onSingleQuoteBoldTextElement104() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuoteBoldTextElement104() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement104() +} + +func (c *current) onSingleQuoteBoldTextElement106() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonSingleQuoteBoldTextElement106() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement106() +} + +func (c *current) onSingleQuoteBoldTextElement108() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSingleQuoteBoldTextElement108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement108() +} + +func (c *current) onSingleQuoteBoldTextElement110() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonSingleQuoteBoldTextElement110() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement110() +} + +func (c *current) onSingleQuoteBoldTextElement112() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSingleQuoteBoldTextElement112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement112() +} + +func (c *current) onSingleQuoteBoldTextElement114() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSingleQuoteBoldTextElement114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement114() +} + +func (c *current) onSingleQuoteBoldTextElement116() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonSingleQuoteBoldTextElement116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement116() +} + +func (c *current) onSingleQuoteBoldTextElement120() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement120() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement120() +} + +func (c *current) onSingleQuoteBoldTextElement123() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement123() +} + +func (c *current) onSingleQuoteBoldTextElement127() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement127() +} + +func (c *current) onSingleQuoteBoldTextElement118() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonSingleQuoteBoldTextElement118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement118() +} + +func (c *current) onSingleQuoteBoldTextElement136() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement136() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement136() +} + +func (c *current) onSingleQuoteBoldTextElement141() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement141() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement141() +} + +func (c *current) onSingleQuoteBoldTextElement134() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonSingleQuoteBoldTextElement134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement134() +} + +func (c *current) onSingleQuoteBoldTextElement148() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonSingleQuoteBoldTextElement148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement148() +} + +func (c *current) onSingleQuoteBoldTextElement150() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonSingleQuoteBoldTextElement150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement150() +} + +func (c *current) onSingleQuoteBoldTextElement152() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonSingleQuoteBoldTextElement152() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement152() +} + +func (c *current) onSingleQuoteBoldTextElement96() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement96() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement96() +} + +func (c *current) onSingleQuoteBoldTextElement154() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteBoldTextElement154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement154() +} + +func (c *current) onSingleQuoteBoldTextElement156() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteBoldTextElement156() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement156() +} + +func (c *current) onSingleQuoteBoldTextElement158() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuoteBoldTextElement158() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement158() +} + +func (c *current) onSingleQuoteBoldTextElement160() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonSingleQuoteBoldTextElement160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement160() +} + +func (c *current) onSingleQuoteBoldTextElement162() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSingleQuoteBoldTextElement162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement162() +} + +func (c *current) onSingleQuoteBoldTextElement164() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonSingleQuoteBoldTextElement164() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement164() +} + +func (c *current) onSingleQuoteBoldTextElement166() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSingleQuoteBoldTextElement166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement166() +} + +func (c *current) onSingleQuoteBoldTextElement168() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSingleQuoteBoldTextElement168() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement168() +} + +func (c *current) onSingleQuoteBoldTextElement172() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement172() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement172() +} + +func (c *current) onSingleQuoteBoldTextElement175() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement175() +} + +func (c *current) onSingleQuoteBoldTextElement179() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement179() +} + +func (c *current) onSingleQuoteBoldTextElement170() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonSingleQuoteBoldTextElement170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement170() +} + +func (c *current) onSingleQuoteBoldTextElement188() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement188() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement188() +} + +func (c *current) onSingleQuoteBoldTextElement193() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement193() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement193() +} + +func (c *current) onSingleQuoteBoldTextElement186() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonSingleQuoteBoldTextElement186() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement186() +} + +func (c *current) onSingleQuoteBoldTextElement200() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonSingleQuoteBoldTextElement200() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement200() +} + +func (c *current) onSingleQuoteBoldTextElement202() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonSingleQuoteBoldTextElement202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement202() +} + +func (c *current) onSingleQuoteBoldTextElement204() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonSingleQuoteBoldTextElement204() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement204() +} + +func (c *current) onSingleQuoteBoldTextElement206() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonSingleQuoteBoldTextElement206() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement206() +} + +func (c *current) onSingleQuoteBoldTextElement208() (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) callonSingleQuoteBoldTextElement208() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement208() +} + +func (c *current) onSingleQuoteBoldTextElement214() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement214() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement214() +} + +func (c *current) onSingleQuoteBoldTextElement222() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement222() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement222() +} + +func (c *current) onSingleQuoteBoldTextElement231() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement231() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement231() +} + +func (c *current) onSingleQuoteBoldTextElement235() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement235() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement235() +} + +func (c *current) onSingleQuoteBoldTextElement241() (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) callonSingleQuoteBoldTextElement241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement241() +} + +func (c *current) onSingleQuoteBoldTextElement250() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement250() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement250() +} + +func (c *current) onSingleQuoteBoldTextElement246(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) callonSingleQuoteBoldTextElement246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement246(stack["name"]) +} + +func (c *current) onSingleQuoteBoldTextElement260() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement260() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement260() +} + +func (c *current) onSingleQuoteBoldTextElement256(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement256() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement256(stack["name"]) +} + +func (c *current) onSingleQuoteBoldTextElement266() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement266() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement266() +} + +func (c *current) onSingleQuoteBoldTextElement227(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonSingleQuoteBoldTextElement227() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement227(stack["id"], stack["label"]) +} + +func (c *current) onSingleQuoteBoldTextElement273() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement273() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement273() +} + +func (c *current) onSingleQuoteBoldTextElement269(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonSingleQuoteBoldTextElement269() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement269(stack["id"]) +} + +func (c *current) onSingleQuoteBoldTextElement225() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement225() +} + +func (c *current) onSingleQuoteBoldTextElement277() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement277() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement277() +} + +func (c *current) onSingleQuoteBoldTextElement220(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement220() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement220(stack["element"]) +} + +func (c *current) onSingleQuoteBoldTextElement284() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement284() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement284() +} + +func (c *current) onSingleQuoteBoldTextElement280(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonSingleQuoteBoldTextElement280() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement280(stack["ref"]) +} + +func (c *current) onSingleQuoteBoldTextElement292() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement292() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement292() +} + +func (c *current) onSingleQuoteBoldTextElement289() (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) callonSingleQuoteBoldTextElement289() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement289() +} + +func (c *current) onQuotedTextInSingleQuoteBoldText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInSingleQuoteBoldText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInSingleQuoteBoldText2(stack["element"]) +} + +func (c *current) onQuotedTextInSingleQuoteBoldText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + +} + +func (p *parser) callonQuotedTextInSingleQuoteBoldText13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInSingleQuoteBoldText13(stack["attributes"], stack["text"]) +} + +func (c *current) onEscapedBoldText5() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedBoldText5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedBoldText5() +} + +func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { + + return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) + +} + +func (p *parser) callonEscapedBoldText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) +} + +func (c *current) onEscapedBoldText17() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedBoldText17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedBoldText17() +} + +func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { + + result := append([]interface{}{"*"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "*", result) + +} + +func (p *parser) callonEscapedBoldText14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) +} + +func (c *current) onEscapedBoldText27() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedBoldText27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedBoldText27() +} + +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) callonDoubleQuoteItalicTextElement13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement13() +} + +func (c *current) onDoubleQuoteItalicTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement7() +} + +func (c *current) onDoubleQuoteItalicTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement16() +} + +func (c *current) onDoubleQuoteItalicTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteItalicTextElement20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement20() +} + +func (c *current) onDoubleQuoteItalicTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteItalicTextElement26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement26() +} + +func (c *current) onDoubleQuoteItalicTextElement33() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement33() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement33() +} + +func (c *current) onDoubleQuoteItalicTextElement40() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement40() +} + +func (c *current) onDoubleQuoteItalicTextElement52() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement52() +} + +func (c *current) onDoubleQuoteItalicTextElement54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement54() +} + +func (c *current) onDoubleQuoteItalicTextElement47(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement47(stack["start"]) +} + +func (c *current) onDoubleQuoteItalicTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonDoubleQuoteItalicTextElement36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement36(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteItalicTextElement62() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement62() +} + +func (c *current) onDoubleQuoteItalicTextElement74() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement74() +} + +func (c *current) onDoubleQuoteItalicTextElement76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement76() +} + +func (c *current) onDoubleQuoteItalicTextElement69(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement69(stack["start"]) +} + +func (c *current) onDoubleQuoteItalicTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonDoubleQuoteItalicTextElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement58(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteItalicTextElement84() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement84() +} + +func (c *current) onDoubleQuoteItalicTextElement80(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) callonDoubleQuoteItalicTextElement80() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement80(stack["name"]) +} + +func (c *current) onDoubleQuoteItalicTextElement94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement94() +} + +func (c *current) onDoubleQuoteItalicTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement90(stack["name"]) +} + +func (c *current) onDoubleQuoteItalicTextElement31(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement31(stack["element"]) +} + +func (c *current) onDoubleQuoteItalicTextElement105() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement105() +} + +func (c *current) onDoubleQuoteItalicTextElement107() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement107() +} + +func (c *current) onDoubleQuoteItalicTextElement109() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement109() +} + +func (c *current) onDoubleQuoteItalicTextElement111() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement111() +} + +func (c *current) onDoubleQuoteItalicTextElement113() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement113() +} + +func (c *current) onDoubleQuoteItalicTextElement115() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement115() +} + +func (c *current) onDoubleQuoteItalicTextElement117() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement117() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement117() +} + +func (c *current) onDoubleQuoteItalicTextElement119() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement119() +} + +func (c *current) onDoubleQuoteItalicTextElement121() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement121() +} + +func (c *current) onDoubleQuoteItalicTextElement125() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement125() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement125() +} + +func (c *current) onDoubleQuoteItalicTextElement128() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement128() +} + +func (c *current) onDoubleQuoteItalicTextElement132() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteItalicTextElement132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement132() +} + +func (c *current) onDoubleQuoteItalicTextElement123() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement123() +} + +func (c *current) onDoubleQuoteItalicTextElement141() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement141() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement141() +} + +func (c *current) onDoubleQuoteItalicTextElement146() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteItalicTextElement146() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement146() +} + +func (c *current) onDoubleQuoteItalicTextElement139() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement139() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement139() +} + +func (c *current) onDoubleQuoteItalicTextElement153() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement153() +} + +func (c *current) onDoubleQuoteItalicTextElement155() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement155() +} + +func (c *current) onDoubleQuoteItalicTextElement157() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement157() +} + +func (c *current) onDoubleQuoteItalicTextElement101() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement101() +} + +func (c *current) onDoubleQuoteItalicTextElement159() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement159() +} + +func (c *current) onDoubleQuoteItalicTextElement161() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement161() +} + +func (c *current) onDoubleQuoteItalicTextElement163() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement163() +} + +func (c *current) onDoubleQuoteItalicTextElement165() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement165() +} + +func (c *current) onDoubleQuoteItalicTextElement167() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement167() +} + +func (c *current) onDoubleQuoteItalicTextElement169() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement169() +} + +func (c *current) onDoubleQuoteItalicTextElement171() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement171() +} + +func (c *current) onDoubleQuoteItalicTextElement173() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement173() +} + +func (c *current) onDoubleQuoteItalicTextElement177() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement177() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement177() +} + +func (c *current) onDoubleQuoteItalicTextElement180() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement180() +} + +func (c *current) onDoubleQuoteItalicTextElement184() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteItalicTextElement184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement184() +} + +func (c *current) onDoubleQuoteItalicTextElement175() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement175() +} + +func (c *current) onDoubleQuoteItalicTextElement193() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement193() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement193() +} + +func (c *current) onDoubleQuoteItalicTextElement198() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteItalicTextElement198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement198() +} + +func (c *current) onDoubleQuoteItalicTextElement191() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement191() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement191() +} + +func (c *current) onDoubleQuoteItalicTextElement205() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement205() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement205() +} + +func (c *current) onDoubleQuoteItalicTextElement207() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement207() +} + +func (c *current) onDoubleQuoteItalicTextElement209() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement209() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement209() +} + +func (c *current) onDoubleQuoteItalicTextElement211() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement211() +} + +func (c *current) onDoubleQuoteItalicTextElement213() (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) callonDoubleQuoteItalicTextElement213() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement213() +} + +func (c *current) onDoubleQuoteItalicTextElement219() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement219() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement219() +} + +func (c *current) onDoubleQuoteItalicTextElement227() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement227() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement227() +} + +func (c *current) onDoubleQuoteItalicTextElement236() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement236() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement236() +} + +func (c *current) onDoubleQuoteItalicTextElement240() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement240() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement240() +} + +func (c *current) onDoubleQuoteItalicTextElement246() (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) callonDoubleQuoteItalicTextElement246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement246() +} + +func (c *current) onDoubleQuoteItalicTextElement255() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement255() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement255() +} + +func (c *current) onDoubleQuoteItalicTextElement251(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) callonDoubleQuoteItalicTextElement251() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement251(stack["name"]) +} + +func (c *current) onDoubleQuoteItalicTextElement265() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement265() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement265() +} + +func (c *current) onDoubleQuoteItalicTextElement261(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement261() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement261(stack["name"]) +} + +func (c *current) onDoubleQuoteItalicTextElement271() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement271() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement271() +} + +func (c *current) onDoubleQuoteItalicTextElement232(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement232(stack["id"], stack["label"]) +} + +func (c *current) onDoubleQuoteItalicTextElement278() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement278() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement278() +} + +func (c *current) onDoubleQuoteItalicTextElement274(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement274() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement274(stack["id"]) +} + +func (c *current) onDoubleQuoteItalicTextElement230() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement230() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement230() +} + +func (c *current) onDoubleQuoteItalicTextElement282() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement282() +} + +func (c *current) onDoubleQuoteItalicTextElement225(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement225(stack["element"]) +} + +func (c *current) onDoubleQuoteItalicTextElement289() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteItalicTextElement289() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement289() +} + +func (c *current) onDoubleQuoteItalicTextElement285(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonDoubleQuoteItalicTextElement285() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement285(stack["ref"]) +} + +func (c *current) onDoubleQuoteItalicTextElement297() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement297() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement297() +} + +func (c *current) onDoubleQuoteItalicTextElement294() (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) callonDoubleQuoteItalicTextElement294() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement294() +} + +func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleQuoteItalicText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInDoubleQuoteItalicText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleQuoteItalicText2(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + +} + +func (p *parser) callonQuotedTextInDoubleQuoteItalicText13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleQuoteItalicText13(stack["attributes"], stack["text"]) +} + +func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) + +} + +func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicText1(stack["elements"]) +} + +func (c *current) onSingleQuoteItalicTextElements7() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElements7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElements7() +} + +func (c *current) onSingleQuoteItalicTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces + +} + +func (p *parser) callonSingleQuoteItalicTextElements12() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElements12(stack["elements"]) +} + +func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { + return elements, nil + +} + +func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) +} + +func (c *current) onSingleQuoteItalicTextElement8() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement8() +} + +func (c *current) onSingleQuoteItalicTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement2() +} + +func (c *current) onSingleQuoteItalicTextElement11() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement11() +} + +func (c *current) onSingleQuoteItalicTextElement15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteItalicTextElement15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement15() +} + +func (c *current) onSingleQuoteItalicTextElement21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteItalicTextElement21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement21() +} + +func (c *current) onSingleQuoteItalicTextElement28() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement28() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement28() +} + +func (c *current) onSingleQuoteItalicTextElement35() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement35() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement35() +} + +func (c *current) onSingleQuoteItalicTextElement47() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement47() +} + +func (c *current) onSingleQuoteItalicTextElement49() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement49() +} + +func (c *current) onSingleQuoteItalicTextElement42(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement42() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + 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) callonSingleQuoteItalicTextElement31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement31(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuoteItalicTextElement57() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement57() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement57() +} + +func (c *current) onSingleQuoteItalicTextElement69() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement69() +} + +func (c *current) onSingleQuoteItalicTextElement71() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement71() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement71() +} + +func (c *current) onSingleQuoteItalicTextElement64(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement64(stack["start"]) +} + +func (c *current) onSingleQuoteItalicTextElement53(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonSingleQuoteItalicTextElement53() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement53(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuoteItalicTextElement79() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement79() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement79() +} + +func (c *current) onSingleQuoteItalicTextElement75(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) callonSingleQuoteItalicTextElement75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement75(stack["name"]) +} + +func (c *current) onSingleQuoteItalicTextElement89() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement89() +} + +func (c *current) onSingleQuoteItalicTextElement85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement85(stack["name"]) +} + +func (c *current) onSingleQuoteItalicTextElement26(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement26(stack["element"]) +} + +func (c *current) onSingleQuoteItalicTextElement100() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteItalicTextElement100() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement100() +} + +func (c *current) onSingleQuoteItalicTextElement102() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteItalicTextElement102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement102() +} + +func (c *current) onSingleQuoteItalicTextElement104() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuoteItalicTextElement104() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement104() +} + +func (c *current) onSingleQuoteItalicTextElement106() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonSingleQuoteItalicTextElement106() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement106() +} + +func (c *current) onSingleQuoteItalicTextElement108() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSingleQuoteItalicTextElement108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement108() +} + +func (c *current) onSingleQuoteItalicTextElement110() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonSingleQuoteItalicTextElement110() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement110() +} + +func (c *current) onSingleQuoteItalicTextElement112() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSingleQuoteItalicTextElement112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement112() +} + +func (c *current) onSingleQuoteItalicTextElement114() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSingleQuoteItalicTextElement114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement114() +} + +func (c *current) onSingleQuoteItalicTextElement116() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonSingleQuoteItalicTextElement116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement116() +} + +func (c *current) onSingleQuoteItalicTextElement120() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement120() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement120() +} + +func (c *current) onSingleQuoteItalicTextElement123() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement123() +} + +func (c *current) onSingleQuoteItalicTextElement127() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteItalicTextElement127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement127() +} + +func (c *current) onSingleQuoteItalicTextElement118() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonSingleQuoteItalicTextElement118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement118() +} + +func (c *current) onSingleQuoteItalicTextElement136() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement136() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement136() +} + +func (c *current) onSingleQuoteItalicTextElement141() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteItalicTextElement141() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement141() +} + +func (c *current) onSingleQuoteItalicTextElement134() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonSingleQuoteItalicTextElement134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement134() +} + +func (c *current) onSingleQuoteItalicTextElement148() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonSingleQuoteItalicTextElement148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement148() +} + +func (c *current) onSingleQuoteItalicTextElement150() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonSingleQuoteItalicTextElement150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement150() +} + +func (c *current) onSingleQuoteItalicTextElement152() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonSingleQuoteItalicTextElement152() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement152() +} + +func (c *current) onSingleQuoteItalicTextElement96() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement96() +} + +func (c *current) onSingleQuoteItalicTextElement154() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteItalicTextElement154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement154() +} + +func (c *current) onSingleQuoteItalicTextElement156() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteItalicTextElement156() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement156() +} + +func (c *current) onSingleQuoteItalicTextElement158() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuoteItalicTextElement158() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement158() +} + +func (c *current) onSingleQuoteItalicTextElement160() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonSingleQuoteItalicTextElement160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement160() +} + +func (c *current) onSingleQuoteItalicTextElement162() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSingleQuoteItalicTextElement162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement162() +} + +func (c *current) onSingleQuoteItalicTextElement164() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonSingleQuoteItalicTextElement164() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement164() +} + +func (c *current) onSingleQuoteItalicTextElement166() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSingleQuoteItalicTextElement166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement166() +} + +func (c *current) onSingleQuoteItalicTextElement168() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSingleQuoteItalicTextElement168() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement168() +} + +func (c *current) onSingleQuoteItalicTextElement172() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement172() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement172() +} + +func (c *current) onSingleQuoteItalicTextElement175() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement175() +} + +func (c *current) onSingleQuoteItalicTextElement179() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteItalicTextElement179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement179() +} + +func (c *current) onSingleQuoteItalicTextElement170() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonSingleQuoteItalicTextElement170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement170() +} + +func (c *current) onSingleQuoteItalicTextElement188() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement188() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement188() +} + +func (c *current) onSingleQuoteItalicTextElement193() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteItalicTextElement193() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement193() +} + +func (c *current) onSingleQuoteItalicTextElement186() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonSingleQuoteItalicTextElement186() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement186() +} + +func (c *current) onSingleQuoteItalicTextElement200() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonSingleQuoteItalicTextElement200() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement200() +} + +func (c *current) onSingleQuoteItalicTextElement202() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonSingleQuoteItalicTextElement202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement202() +} + +func (c *current) onSingleQuoteItalicTextElement204() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonSingleQuoteItalicTextElement204() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement204() +} + +func (c *current) onSingleQuoteItalicTextElement206() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonSingleQuoteItalicTextElement206() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement206() +} + +func (c *current) onSingleQuoteItalicTextElement208() (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) callonSingleQuoteItalicTextElement208() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement208() +} + +func (c *current) onSingleQuoteItalicTextElement214() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement214() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement214() +} + +func (c *current) onSingleQuoteItalicTextElement222() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement222() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement222() +} + +func (c *current) onSingleQuoteItalicTextElement231() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement231() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement231() +} + +func (c *current) onSingleQuoteItalicTextElement235() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement235() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement235() +} + +func (c *current) onSingleQuoteItalicTextElement241() (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) callonSingleQuoteItalicTextElement241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement241() +} + +func (c *current) onSingleQuoteItalicTextElement250() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement250() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement250() +} + +func (c *current) onSingleQuoteItalicTextElement246(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) callonSingleQuoteItalicTextElement246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement246(stack["name"]) +} + +func (c *current) onSingleQuoteItalicTextElement260() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement260() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement260() +} + +func (c *current) onSingleQuoteItalicTextElement256(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement256() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement256(stack["name"]) +} + +func (c *current) onSingleQuoteItalicTextElement266() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement266() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement266() +} + +func (c *current) onSingleQuoteItalicTextElement227(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonSingleQuoteItalicTextElement227() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement227(stack["id"], stack["label"]) +} + +func (c *current) onSingleQuoteItalicTextElement273() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement273() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement273() +} + +func (c *current) onSingleQuoteItalicTextElement269(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonSingleQuoteItalicTextElement269() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement269(stack["id"]) +} + +func (c *current) onSingleQuoteItalicTextElement225() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement225() +} + +func (c *current) onSingleQuoteItalicTextElement277() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement277() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement277() +} + +func (c *current) onSingleQuoteItalicTextElement220(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement220() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement220(stack["element"]) +} + +func (c *current) onSingleQuoteItalicTextElement284() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteItalicTextElement284() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement284() +} + +func (c *current) onSingleQuoteItalicTextElement280(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonSingleQuoteItalicTextElement280() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement280(stack["ref"]) +} + +func (c *current) onSingleQuoteItalicTextElement292() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement292() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement292() +} + +func (c *current) onSingleQuoteItalicTextElement289() (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) callonSingleQuoteItalicTextElement289() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement289() +} + +func (c *current) onQuotedTextInSingleQuoteItalicText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInSingleQuoteItalicText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInSingleQuoteItalicText2(stack["element"]) +} + +func (c *current) onQuotedTextInSingleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + +} + +func (p *parser) callonQuotedTextInSingleQuoteItalicText13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInSingleQuoteItalicText13(stack["attributes"], stack["text"]) +} + +func (c *current) onEscapedItalicText5() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedItalicText5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedItalicText5() +} + +func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) + +} + +func (p *parser) callonEscapedItalicText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) +} + +func (c *current) onEscapedItalicText17() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedItalicText17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedItalicText17() +} + +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) callonEscapedItalicText14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) +} + +func (c *current) onEscapedItalicText27() (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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) +} + +func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) + +} + +func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement13() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement13() +} + +func (c *current) onDoubleQuoteMonospaceTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement7() +} + +func (c *current) onDoubleQuoteMonospaceTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement16() +} + +func (c *current) onDoubleQuoteMonospaceTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement20() +} + +func (c *current) onDoubleQuoteMonospaceTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement26() +} + +func (c *current) onDoubleQuoteMonospaceTextElement33() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement33() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement33() +} + +func (c *current) onDoubleQuoteMonospaceTextElement40() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement40() +} + +func (c *current) onDoubleQuoteMonospaceTextElement52() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement52() +} + +func (c *current) onDoubleQuoteMonospaceTextElement54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement54() +} + +func (c *current) onDoubleQuoteMonospaceTextElement47(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement47(stack["start"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement36(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement62() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement62() +} + +func (c *current) onDoubleQuoteMonospaceTextElement74() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement74() +} + +func (c *current) onDoubleQuoteMonospaceTextElement76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement76() +} + +func (c *current) onDoubleQuoteMonospaceTextElement69(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement69(stack["start"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement58(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement84() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement84() +} + +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) callonDoubleQuoteMonospaceTextElement80() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement80(stack["name"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement94() (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)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement90(stack["name"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement31(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement31(stack["element"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement105() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement105() +} + +func (c *current) onDoubleQuoteMonospaceTextElement107() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement107() +} + +func (c *current) onDoubleQuoteMonospaceTextElement109() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement109() +} + +func (c *current) onDoubleQuoteMonospaceTextElement111() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement111() +} + +func (c *current) onDoubleQuoteMonospaceTextElement113() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement113() +} + +func (c *current) onDoubleQuoteMonospaceTextElement115() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement115() +} + +func (c *current) onDoubleQuoteMonospaceTextElement117() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement117() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement117() +} + +func (c *current) onDoubleQuoteMonospaceTextElement119() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement119() +} + +func (c *current) onDoubleQuoteMonospaceTextElement121() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement121() +} + +func (c *current) onDoubleQuoteMonospaceTextElement125() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement125() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement125() +} + +func (c *current) onDoubleQuoteMonospaceTextElement128() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement128() +} + +func (c *current) onDoubleQuoteMonospaceTextElement132() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement132() +} + +func (c *current) onDoubleQuoteMonospaceTextElement123() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement123() +} + +func (c *current) onDoubleQuoteMonospaceTextElement141() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement141() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement141() +} + +func (c *current) onDoubleQuoteMonospaceTextElement146() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement146() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement146() +} + +func (c *current) onDoubleQuoteMonospaceTextElement139() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement139() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement139() +} + +func (c *current) onDoubleQuoteMonospaceTextElement153() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement153() +} + +func (c *current) onDoubleQuoteMonospaceTextElement155() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement155() +} + +func (c *current) onDoubleQuoteMonospaceTextElement157() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement157() +} + +func (c *current) onDoubleQuoteMonospaceTextElement101() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement101() +} + +func (c *current) onDoubleQuoteMonospaceTextElement159() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement159() +} + +func (c *current) onDoubleQuoteMonospaceTextElement161() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement161() +} + +func (c *current) onDoubleQuoteMonospaceTextElement163() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement163() +} + +func (c *current) onDoubleQuoteMonospaceTextElement165() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement165() +} + +func (c *current) onDoubleQuoteMonospaceTextElement167() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement167() +} + +func (c *current) onDoubleQuoteMonospaceTextElement169() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement169() +} + +func (c *current) onDoubleQuoteMonospaceTextElement171() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement171() +} + +func (c *current) onDoubleQuoteMonospaceTextElement173() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement173() +} + +func (c *current) onDoubleQuoteMonospaceTextElement177() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement177() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement177() +} + +func (c *current) onDoubleQuoteMonospaceTextElement180() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement180() +} + +func (c *current) onDoubleQuoteMonospaceTextElement184() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement184() +} + +func (c *current) onDoubleQuoteMonospaceTextElement175() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement175() +} + +func (c *current) onDoubleQuoteMonospaceTextElement193() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement193() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement193() +} + +func (c *current) onDoubleQuoteMonospaceTextElement198() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement198() +} + +func (c *current) onDoubleQuoteMonospaceTextElement191() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement191() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement191() +} + +func (c *current) onDoubleQuoteMonospaceTextElement205() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement205() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement205() +} + +func (c *current) onDoubleQuoteMonospaceTextElement207() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement207() +} + +func (c *current) onDoubleQuoteMonospaceTextElement209() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement209() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement209() +} + +func (c *current) onDoubleQuoteMonospaceTextElement211() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement211() +} + +func (c *current) onDoubleQuoteMonospaceTextElement213() (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) callonDoubleQuoteMonospaceTextElement213() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement213() +} + +func (c *current) onDoubleQuoteMonospaceTextElement219() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement219() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement219() +} + +func (c *current) onDoubleQuoteMonospaceTextElement227() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement227() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement227() +} + +func (c *current) onDoubleQuoteMonospaceTextElement236() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement236() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement236() +} + +func (c *current) onDoubleQuoteMonospaceTextElement240() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement240() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement240() +} + +func (c *current) onDoubleQuoteMonospaceTextElement246() (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) callonDoubleQuoteMonospaceTextElement246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement246() +} + +func (c *current) onDoubleQuoteMonospaceTextElement255() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement255() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement255() +} + +func (c *current) onDoubleQuoteMonospaceTextElement251(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) callonDoubleQuoteMonospaceTextElement251() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement251(stack["name"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement265() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement265() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement265() +} + +func (c *current) onDoubleQuoteMonospaceTextElement261(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement261() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement261(stack["name"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement271() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement271() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement271() +} + +func (c *current) onDoubleQuoteMonospaceTextElement232(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement232() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement232(stack["id"], stack["label"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement278() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement278() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement278() +} + +func (c *current) onDoubleQuoteMonospaceTextElement274(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement274() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement274(stack["id"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement230() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement230() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement230() +} + +func (c *current) onDoubleQuoteMonospaceTextElement282() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement282() +} + +func (c *current) onDoubleQuoteMonospaceTextElement225(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement225(stack["element"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement290() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement290() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement290() +} + +func (c *current) onDoubleQuoteMonospaceTextElement286(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement286() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement286(stack["ref"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement298() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement298() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement298() +} + +func (c *current) onDoubleQuoteMonospaceTextElement295() (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) callonDoubleQuoteMonospaceTextElement295() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement295() +} + +func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleQuoteMonospaceText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleQuoteMonospaceText2(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + +} + +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleQuoteMonospaceText13(stack["attributes"], stack["text"]) +} + +func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) + +} + +func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) +} + +func (c *current) onSingleQuoteMonospaceTextElements7() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElements7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElements7() +} + +func (c *current) onSingleQuoteMonospaceTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces + +} + +func (p *parser) callonSingleQuoteMonospaceTextElements12() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElements12(stack["elements"]) +} + +func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { + return elements, nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement2() +} + +func (c *current) onSingleQuoteMonospaceTextElement11() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement11() +} + +func (c *current) onSingleQuoteMonospaceTextElement20() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement20() +} + +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) onSingleQuoteMonospaceTextElement30() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteMonospaceTextElement30() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement30() +} + +func (c *current) onSingleQuoteMonospaceTextElement37() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement37() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement37() +} + +func (c *current) onSingleQuoteMonospaceTextElement44() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement44() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement44() +} + +func (c *current) onSingleQuoteMonospaceTextElement56() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement56() +} + +func (c *current) onSingleQuoteMonospaceTextElement58() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement58() +} + +func (c *current) onSingleQuoteMonospaceTextElement51(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement51() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement51(stack["start"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement40(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonSingleQuoteMonospaceTextElement40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement40(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement66() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement66() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement66() +} + +func (c *current) onSingleQuoteMonospaceTextElement78() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement78() +} + +func (c *current) onSingleQuoteMonospaceTextElement80() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement80() (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 + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement73() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement73(stack["start"]) +} + +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) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement62(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement88() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement88() +} + +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) callonSingleQuoteMonospaceTextElement84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement84(stack["name"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement98() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement98() +} + +func (c *current) onSingleQuoteMonospaceTextElement94(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement94(stack["name"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement35(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement35(stack["element"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement109() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement109() +} + +func (c *current) onSingleQuoteMonospaceTextElement111() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement111() +} + +func (c *current) onSingleQuoteMonospaceTextElement113() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement113() +} + +func (c *current) onSingleQuoteMonospaceTextElement115() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement115() +} + +func (c *current) onSingleQuoteMonospaceTextElement117() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement117() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement117() +} + +func (c *current) onSingleQuoteMonospaceTextElement119() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement119() +} + +func (c *current) onSingleQuoteMonospaceTextElement121() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement121() +} + +func (c *current) onSingleQuoteMonospaceTextElement123() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement123() +} + +func (c *current) onSingleQuoteMonospaceTextElement125() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement125() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement125() +} + +func (c *current) onSingleQuoteMonospaceTextElement129() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement129() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement129() +} + +func (c *current) onSingleQuoteMonospaceTextElement132() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement132() +} + +func (c *current) onSingleQuoteMonospaceTextElement136() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteMonospaceTextElement136() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement136() +} + +func (c *current) onSingleQuoteMonospaceTextElement127() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement127() +} + +func (c *current) onSingleQuoteMonospaceTextElement145() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement145() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement145() +} + +func (c *current) onSingleQuoteMonospaceTextElement150() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteMonospaceTextElement150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement150() +} + +func (c *current) onSingleQuoteMonospaceTextElement143() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement143() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement143() +} + +func (c *current) onSingleQuoteMonospaceTextElement157() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement157() +} + +func (c *current) onSingleQuoteMonospaceTextElement159() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement159() +} + +func (c *current) onSingleQuoteMonospaceTextElement161() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement161() +} + +func (c *current) onSingleQuoteMonospaceTextElement105() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement105() +} + +func (c *current) onSingleQuoteMonospaceTextElement163() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement163() +} + +func (c *current) onSingleQuoteMonospaceTextElement165() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement165() +} + +func (c *current) onSingleQuoteMonospaceTextElement167() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement167() +} + +func (c *current) onSingleQuoteMonospaceTextElement169() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement169() +} + +func (c *current) onSingleQuoteMonospaceTextElement171() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement171() +} + +func (c *current) onSingleQuoteMonospaceTextElement173() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement173() +} + +func (c *current) onSingleQuoteMonospaceTextElement175() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement175() +} + +func (c *current) onSingleQuoteMonospaceTextElement177() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement177() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement177() +} + +func (c *current) onSingleQuoteMonospaceTextElement181() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement181() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement181() +} + +func (c *current) onSingleQuoteMonospaceTextElement184() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement184() +} + +func (c *current) onSingleQuoteMonospaceTextElement188() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteMonospaceTextElement188() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement188() +} + +func (c *current) onSingleQuoteMonospaceTextElement179() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement179() +} + +func (c *current) onSingleQuoteMonospaceTextElement197() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement197() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement197() +} + +func (c *current) onSingleQuoteMonospaceTextElement202() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteMonospaceTextElement202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement202() +} + +func (c *current) onSingleQuoteMonospaceTextElement195() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement195() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement195() +} + +func (c *current) onSingleQuoteMonospaceTextElement209() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement209() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement209() +} + +func (c *current) onSingleQuoteMonospaceTextElement211() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement211() +} + +func (c *current) onSingleQuoteMonospaceTextElement213() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement213() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement213() +} + +func (c *current) onSingleQuoteMonospaceTextElement215() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement215() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement215() +} + +func (c *current) onSingleQuoteMonospaceTextElement217() (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) callonSingleQuoteMonospaceTextElement217() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement217() +} + +func (c *current) onSingleQuoteMonospaceTextElement223() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement223() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement223() +} + +func (c *current) onSingleQuoteMonospaceTextElement231() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement231() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement231() +} + +func (c *current) onSingleQuoteMonospaceTextElement240() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement240() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement240() +} + +func (c *current) onSingleQuoteMonospaceTextElement244() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement244() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement244() +} + +func (c *current) onSingleQuoteMonospaceTextElement250() (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) callonSingleQuoteMonospaceTextElement250() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement250() +} + +func (c *current) onSingleQuoteMonospaceTextElement259() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement259() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement259() +} + +func (c *current) onSingleQuoteMonospaceTextElement255(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) callonSingleQuoteMonospaceTextElement255() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement255(stack["name"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement269() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement269() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement269() +} + +func (c *current) onSingleQuoteMonospaceTextElement265(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement265() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement265(stack["name"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement275() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement275() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement275() +} + +func (c *current) onSingleQuoteMonospaceTextElement236(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement236() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement236(stack["id"], stack["label"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement282() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement282() +} + +func (c *current) onSingleQuoteMonospaceTextElement278(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement278() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement278(stack["id"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement234() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement234() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement234() +} + +func (c *current) onSingleQuoteMonospaceTextElement286() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement286() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement286() +} + +func (c *current) onSingleQuoteMonospaceTextElement229(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement229() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement229(stack["element"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement294() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteMonospaceTextElement294() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement294() +} + +func (c *current) onSingleQuoteMonospaceTextElement290(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonSingleQuoteMonospaceTextElement290() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement290(stack["ref"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement303() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement303() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement303() +} + +func (c *current) onSingleQuoteMonospaceTextElement298() (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) callonSingleQuoteMonospaceTextElement298() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement298() +} + +func (c *current) onQuotedTextInSingleQuoteMonospaceText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInSingleQuoteMonospaceText2(stack["element"]) +} + +func (c *current) onQuotedTextInSingleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + +} + +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInSingleQuoteMonospaceText13(stack["attributes"], stack["text"]) +} + +func (c *current) onEscapedMonospaceText5() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMonospaceText5() +} + +func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) + +} + +func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) +} + +func (c *current) onEscapedMonospaceText17() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMonospaceText17() +} + +func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { + result := append([]interface{}{"`"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "`", result) + +} + +func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) +} + +func (c *current) onEscapedMonospaceText27() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMonospaceText27() +} + +func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) + +} + +func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) +} + +func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) + +} + +func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement13() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement13() +} + +func (c *current) onDoubleQuoteMarkedTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement7() +} + +func (c *current) onDoubleQuoteMarkedTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement16() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement16() +} + +func (c *current) onDoubleQuoteMarkedTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMarkedTextElement20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement20() +} + +func (c *current) onDoubleQuoteMarkedTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMarkedTextElement26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement26() +} + +func (c *current) onDoubleQuoteMarkedTextElement33() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement33() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement33() +} + +func (c *current) onDoubleQuoteMarkedTextElement40() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement40() +} + +func (c *current) onDoubleQuoteMarkedTextElement52() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement52() +} + +func (c *current) onDoubleQuoteMarkedTextElement54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement54() +} + +func (c *current) onDoubleQuoteMarkedTextElement47(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement47(stack["start"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonDoubleQuoteMarkedTextElement36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement36(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement62() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement62() +} + +func (c *current) onDoubleQuoteMarkedTextElement74() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement74() +} + +func (c *current) onDoubleQuoteMarkedTextElement76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement76() +} + +func (c *current) onDoubleQuoteMarkedTextElement69(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement69(stack["start"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonDoubleQuoteMarkedTextElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement58(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement84() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement84() +} + +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) callonDoubleQuoteMarkedTextElement80() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement80(stack["name"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement94() +} + +func (c *current) onDoubleQuoteMarkedTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement90(stack["name"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement31(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement31(stack["element"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement105() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement105() +} + +func (c *current) onDoubleQuoteMarkedTextElement107() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement107() +} + +func (c *current) onDoubleQuoteMarkedTextElement109() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement109() +} + +func (c *current) onDoubleQuoteMarkedTextElement111() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement111() +} + +func (c *current) onDoubleQuoteMarkedTextElement113() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement113() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement113() +} + +func (c *current) onDoubleQuoteMarkedTextElement115() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement115() +} + +func (c *current) onDoubleQuoteMarkedTextElement117() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement117() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement117() +} + +func (c *current) onDoubleQuoteMarkedTextElement119() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement119() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement119() +} + +func (c *current) onDoubleQuoteMarkedTextElement121() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement121() +} + +func (c *current) onDoubleQuoteMarkedTextElement125() (bool, error) { + return c.isPreceededBySpace(), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement125() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement125() +} + +func (c *current) onDoubleQuoteMarkedTextElement128() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement128() +} + +func (c *current) onDoubleQuoteMarkedTextElement132() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMarkedTextElement132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement132() +} + +func (c *current) onDoubleQuoteMarkedTextElement123() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement123() +} + +func (c *current) onDoubleQuoteMarkedTextElement141() (bool, error) { + return c.isPreceededByAlphanum(), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement141() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement141() +} + +func (c *current) onDoubleQuoteMarkedTextElement146() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMarkedTextElement146() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement146() +} + +func (c *current) onDoubleQuoteMarkedTextElement139() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement139() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement139() +} + +func (c *current) onDoubleQuoteMarkedTextElement153() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement153() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement153() +} + +func (c *current) onDoubleQuoteMarkedTextElement155() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement155() +} + +func (c *current) onDoubleQuoteMarkedTextElement157() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement157() +} + +func (c *current) onDoubleQuoteMarkedTextElement101() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement101() +} + +func (c *current) onDoubleQuoteMarkedTextElement159() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement159() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement159() +} + +func (c *current) onDoubleQuoteMarkedTextElement161() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement161() +} + +func (c *current) onDoubleQuoteMarkedTextElement163() (interface{}, error) { + return types.NewSymbol("'`") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement163() +} + +func (c *current) onDoubleQuoteMarkedTextElement165() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement165() +} + +func (c *current) onDoubleQuoteMarkedTextElement167() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement167() +} + +func (c *current) onDoubleQuoteMarkedTextElement169() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement169() +} + +func (c *current) onDoubleQuoteMarkedTextElement171() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement171() } -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) onDoubleQuoteMarkedTextElement173() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonDocumentRawLine1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine1(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement173() } -func (c *current) onRawSection3() (bool, error) { - // should only be enabled when reading files to include, not the main (root) file - return c.isSectionEnabled(), nil +func (c *current) onDoubleQuoteMarkedTextElement177() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonRawSection3() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement177() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRawSection3() + return p.cur.onDoubleQuoteMarkedTextElement177() } -func (c *current) onRawSection4() (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement180() (interface{}, error) { + return string(c.text), nil - return !c.isWithinDelimitedBlock(), nil +} + +func (p *parser) callonDoubleQuoteMarkedTextElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement180() +} +func (c *current) onDoubleQuoteMarkedTextElement184() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRawSection4() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRawSection4() + return p.cur.onDoubleQuoteMarkedTextElement184() } -func (c *current) onRawSection6() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement175() (interface{}, error) { + return types.NewSymbol(" -- ") - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil +} + +func (p *parser) callonDoubleQuoteMarkedTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement175() +} + +func (c *current) onDoubleQuoteMarkedTextElement193() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonRawSection6() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement193() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRawSection6() + return p.cur.onDoubleQuoteMarkedTextElement193() } -func (c *current) onRawSection9(level interface{}) (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement198() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed - return level.(int) <= 5, nil +func (p *parser) callonDoubleQuoteMarkedTextElement198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement198() +} + +func (c *current) onDoubleQuoteMarkedTextElement191() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonRawSection9() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRawSection9(stack["level"]) + return p.cur.onDoubleQuoteMarkedTextElement191() } -func (c *current) onRawSection1(level interface{}) (interface{}, error) { - return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content +func (c *current) onDoubleQuoteMarkedTextElement205() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonRawSection1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRawSection1(stack["level"]) + return p.cur.onDoubleQuoteMarkedTextElement205() } -func (c *current) onIfdef1(name, attr interface{}) (interface{}, error) { - return types.NewIfdefCondition(name.(string), attr) +func (c *current) onDoubleQuoteMarkedTextElement207() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonIfdef1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfdef1(stack["name"], stack["attr"]) + return p.cur.onDoubleQuoteMarkedTextElement207() } -func (c *current) onIfndef1(name, attr interface{}) (interface{}, error) { - return types.NewIfndefCondition(name.(string), attr) +func (c *current) onDoubleQuoteMarkedTextElement209() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonIfndef1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfndef1(stack["name"], stack["attr"]) + return p.cur.onDoubleQuoteMarkedTextElement209() } -func (c *current) onConditionalInclusionAttribute1() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement211() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonConditionalInclusionAttribute1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onConditionalInclusionAttribute1() + return p.cur.onDoubleQuoteMarkedTextElement211() } -func (c *current) onIfeval1(left, operand, right interface{}) (interface{}, error) { - return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) +func (c *current) onDoubleQuoteMarkedTextElement213() (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) callonIfeval1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfeval1(stack["left"], stack["operand"], stack["right"]) + return p.cur.onDoubleQuoteMarkedTextElement213() } -func (c *current) onIfevalExpressionMember2(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onDoubleQuoteMarkedTextElement219() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + } -func (p *parser) callonIfevalExpressionMember2() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionMember2(stack["s"]) + return p.cur.onDoubleQuoteMarkedTextElement219() } -func (c *current) onIfevalExpressionMember8(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onDoubleQuoteMarkedTextElement227() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + } -func (p *parser) callonIfevalExpressionMember8() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement227() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionMember8(stack["s"]) + return p.cur.onDoubleQuoteMarkedTextElement227() } -func (c *current) onIfevalExpressionMember14(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onDoubleQuoteMarkedTextElement236() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + } -func (p *parser) callonIfevalExpressionMember14() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionMember14(stack["s"]) + return p.cur.onDoubleQuoteMarkedTextElement236() } -func (c *current) onIfevalExpressionMember21() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement240() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonIfevalExpressionMember21() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionMember21() + return p.cur.onDoubleQuoteMarkedTextElement240() } -func (c *current) onIfevalExpressionMember17(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onDoubleQuoteMarkedTextElement246() (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) callonIfevalExpressionMember17() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionMember17(stack["w"]) + return p.cur.onDoubleQuoteMarkedTextElement246() } -func (c *current) onIfevalExpressionMember29() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement255() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonIfevalExpressionMember29() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionMember29() + return p.cur.onDoubleQuoteMarkedTextElement255() } -func (c *current) onIfevalExpressionMember25(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onDoubleQuoteMarkedTextElement251(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) callonIfevalExpressionMember25() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionMember25(stack["w"]) + return p.cur.onDoubleQuoteMarkedTextElement251(stack["name"]) } -func (c *current) onIfevalExpressionOperand2() (interface{}, error) { - return types.NewEqualOperand() +func (c *current) onDoubleQuoteMarkedTextElement265() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIfevalExpressionOperand2() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionOperand2() + return p.cur.onDoubleQuoteMarkedTextElement265() } -func (c *current) onIfevalExpressionOperand4() (interface{}, error) { - return types.NewNotEqualOperand() +func (c *current) onDoubleQuoteMarkedTextElement261(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonIfevalExpressionOperand4() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionOperand4() + return p.cur.onDoubleQuoteMarkedTextElement261(stack["name"]) } -func (c *current) onIfevalExpressionOperand6() (interface{}, error) { - return types.NewLessThanOperand() +func (c *current) onDoubleQuoteMarkedTextElement271() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonIfevalExpressionOperand6() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionOperand6() + return p.cur.onDoubleQuoteMarkedTextElement271() } -func (c *current) onIfevalExpressionOperand8() (interface{}, error) { - return types.NewLessOrEqualOperand() +func (c *current) onDoubleQuoteMarkedTextElement232(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonIfevalExpressionOperand8() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionOperand8() + return p.cur.onDoubleQuoteMarkedTextElement232(stack["id"], stack["label"]) } -func (c *current) onIfevalExpressionOperand10() (interface{}, error) { - return types.NewGreaterThanOperand() +func (c *current) onDoubleQuoteMarkedTextElement278() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonIfevalExpressionOperand10() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionOperand10() + return p.cur.onDoubleQuoteMarkedTextElement278() } -func (c *current) onIfevalExpressionOperand12() (interface{}, error) { - return types.NewGreaterOrEqualOperand() +func (c *current) onDoubleQuoteMarkedTextElement274(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonIfevalExpressionOperand12() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIfevalExpressionOperand12() + return p.cur.onDoubleQuoteMarkedTextElement274(stack["id"]) } -func (c *current) onEndIf1(name, attr interface{}) (interface{}, error) { - return types.NewEndOfCondition() // name and attributes are parsed but ignored +func (c *current) onDoubleQuoteMarkedTextElement230() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonEndIf1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEndIf1(stack["name"], stack["attr"]) + return p.cur.onDoubleQuoteMarkedTextElement230() } -func (c *current) onConditionalVariableName1() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement282() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) - return string(c.text), nil +} + +func (p *parser) callonDoubleQuoteMarkedTextElement282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement282() +} + +func (c *current) onDoubleQuoteMarkedTextElement225(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonConditionalVariableName1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onConditionalVariableName1() + return p.cur.onDoubleQuoteMarkedTextElement225(stack["element"]) } -func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement289() (interface{}, error) { + return string(c.text), nil +} - return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) +func (p *parser) callonDoubleQuoteMarkedTextElement289() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement289() +} +func (c *current) onDoubleQuoteMarkedTextElement285(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonFileInclusion4() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) + return p.cur.onDoubleQuoteMarkedTextElement285(stack["ref"]) } -func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { - return incl.(*types.FileInclusion), nil +func (c *current) onDoubleQuoteMarkedTextElement297() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion1(stack["incl"]) + return p.cur.onDoubleQuoteMarkedTextElement297() } -func (c *current) onLineRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil +func (c *current) onDoubleQuoteMarkedTextElement294() (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) callonLineRanges1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges1(stack["value"]) + return p.cur.onDoubleQuoteMarkedTextElement294() } -func (c *current) onMultipleLineRanges9(other interface{}) (interface{}, error) { - return other, nil +func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonMultipleLineRanges9() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMultipleLineRanges9(stack["other"]) + return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) } -func (c *current) onMultipleLineRanges1(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil +func (c *current) onQuotedTextInDoubleMarkedBoldText2(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonMultipleLineRanges1() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleMarkedBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMultipleLineRanges1(stack["first"], stack["others"]) + return p.cur.onQuotedTextInDoubleMarkedBoldText2(stack["element"]) } -func (c *current) onMultiLineRange1(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) +func (c *current) onQuotedTextInDoubleMarkedBoldText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonMultiLineRange1() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleMarkedBoldText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMultiLineRange1(stack["start"], stack["end"]) + return p.cur.onQuotedTextInDoubleMarkedBoldText13(stack["attributes"], stack["text"]) } -func (c *current) onSingleLineRange1(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) +func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonSingleLineRange1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleLineRange1(stack["singleline"]) + return p.cur.onSingleQuoteMarkedText1(stack["elements"]) } -func (c *current) onTagRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil +func (c *current) onSingleQuoteMarkedTextElements7() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTagRanges1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges1(stack["value"]) + return p.cur.onSingleQuoteMarkedTextElements7() } -func (c *current) onMultipleTagRanges7(other interface{}) (interface{}, error) { - return other, nil +func (c *current) onSingleQuoteMarkedTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonMultipleTagRanges7() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMultipleTagRanges7(stack["other"]) + return p.cur.onSingleQuoteMarkedTextElements12(stack["elements"]) } -func (c *current) onMultipleTagRanges1(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil +func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonMultipleTagRanges1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMultipleTagRanges1(stack["first"], stack["others"]) + return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) } -func (c *current) onTagRange2(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) +func (c *current) onSingleQuoteMarkedTextElement8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTagRange2() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRange2(stack["tag"]) + return p.cur.onSingleQuoteMarkedTextElement8() } -func (c *current) onTagRange7(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) +func (c *current) onSingleQuoteMarkedTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonTagRange7() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRange7(stack["tag"]) + return p.cur.onSingleQuoteMarkedTextElement2() } -func (c *current) onTagWildcard4() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement11() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonTagWildcard4() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagWildcard4() + return p.cur.onSingleQuoteMarkedTextElement11() } -func (c *current) onTagWildcard7(stars interface{}) (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil +func (p *parser) callonSingleQuoteMarkedTextElement15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement15() +} +func (c *current) onSingleQuoteMarkedTextElement21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonTagWildcard7() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagWildcard7(stack["stars"]) + return p.cur.onSingleQuoteMarkedTextElement21() } -func (c *current) onTagWildcard1(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onSingleQuoteMarkedTextElement28() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonTagWildcard1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagWildcard1(stack["stars"]) + return p.cur.onSingleQuoteMarkedTextElement28() } -func (c *current) onIncludedFileLine8() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement35() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonIncludedFileLine8() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine8() + return p.cur.onSingleQuoteMarkedTextElement35() } -func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { - return types.NewIncludedFileLine(content.([]interface{})) +func (c *current) onSingleQuoteMarkedTextElement47() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIncludedFileLine1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine1(stack["content"]) + return p.cur.onSingleQuoteMarkedTextElement47() } -func (c *current) onIncludedFileStartTag5() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement49() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonIncludedFileStartTag5() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileStartTag5() + return p.cur.onSingleQuoteMarkedTextElement49() } -func (c *current) onIncludedFileStartTag1(tag interface{}) (interface{}, error) { - return types.NewIncludedFileStartTag(tag.(string)) +func (c *current) onSingleQuoteMarkedTextElement42(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonSingleQuoteMarkedTextElement42() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement42(stack["start"]) +} + +func (c *current) onSingleQuoteMarkedTextElement31(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonSingleQuoteMarkedTextElement31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement31(stack["name"], stack["start"]) +} + +func (c *current) onSingleQuoteMarkedTextElement57() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIncludedFileStartTag1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileStartTag1(stack["tag"]) + return p.cur.onSingleQuoteMarkedTextElement57() } -func (c *current) onIncludedFileEndTag5() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement69() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonIncludedFileEndTag5() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileEndTag5() + return p.cur.onSingleQuoteMarkedTextElement69() } -func (c *current) onIncludedFileEndTag1(tag interface{}) (interface{}, error) { - return types.NewIncludedFileEndTag(tag.(string)) +func (c *current) onSingleQuoteMarkedTextElement71() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonIncludedFileEndTag1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileEndTag1(stack["tag"]) + return p.cur.onSingleQuoteMarkedTextElement71() } -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 +func (c *current) onSingleQuoteMarkedTextElement64(start interface{}) (interface{}, error) { + return start, nil - if element, ok := element.(types.WithAttributes); ok && attributes != nil { - element.AddAttributes(attributes.(types.Attributes)) - } - return element, nil +} +func (p *parser) callonSingleQuoteMarkedTextElement64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement64(stack["start"]) } -func (p *parser) callonDocumentFragment1() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement53(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonSingleQuoteMarkedTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement53(stack["name"], stack["start"]) } -func (c *current) onRawLine6() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement79() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRawLine6() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRawLine6() + return p.cur.onSingleQuoteMarkedTextElement79() } -func (c *current) onRawLine1(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +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) callonRawLine1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRawLine1(stack["content"]) + return p.cur.onSingleQuoteMarkedTextElement75(stack["name"]) } -func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onSingleQuoteMarkedTextElement89() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement89() } -func (c *current) onAdmonitionKind2() (interface{}, error) { - return types.Tip, nil +func (c *current) onSingleQuoteMarkedTextElement85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonAdmonitionKind2() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAdmonitionKind2() + return p.cur.onSingleQuoteMarkedTextElement85(stack["name"]) } -func (c *current) onAdmonitionKind4() (interface{}, error) { - return types.Note, nil +func (c *current) onSingleQuoteMarkedTextElement26(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonAdmonitionKind4() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAdmonitionKind4() + return p.cur.onSingleQuoteMarkedTextElement26(stack["element"]) } -func (c *current) onAdmonitionKind6() (interface{}, error) { - return types.Important, nil +func (c *current) onSingleQuoteMarkedTextElement100() (interface{}, error) { + return types.NewSymbol("\"`") + +} + +func (p *parser) callonSingleQuoteMarkedTextElement100() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement100() +} + +func (c *current) onSingleQuoteMarkedTextElement102() (interface{}, error) { + return types.NewSymbol("`\"") + +} + +func (p *parser) callonSingleQuoteMarkedTextElement102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement102() +} + +func (c *current) onSingleQuoteMarkedTextElement104() (interface{}, error) { + return types.NewSymbol("'`") + } -func (p *parser) callonAdmonitionKind6() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAdmonitionKind6() + return p.cur.onSingleQuoteMarkedTextElement104() } -func (c *current) onAdmonitionKind8() (interface{}, error) { - return types.Warning, nil +func (c *current) onSingleQuoteMarkedTextElement106() (interface{}, error) { + return types.NewSymbol("`'") + } -func (p *parser) callonAdmonitionKind8() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAdmonitionKind8() + return p.cur.onSingleQuoteMarkedTextElement106() } -func (c *current) onAdmonitionKind10() (interface{}, error) { - return types.Caution, nil +func (c *current) onSingleQuoteMarkedTextElement108() (interface{}, error) { + return types.NewSymbol("(C)") + } -func (p *parser) callonAdmonitionKind10() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAdmonitionKind10() + return p.cur.onSingleQuoteMarkedTextElement108() } -func (c *current) onAttributeDeclaration9(value interface{}) (interface{}, error) { - return value, nil +func (c *current) onSingleQuoteMarkedTextElement110() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonAttributeDeclaration9() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration9(stack["value"]) + return p.cur.onSingleQuoteMarkedTextElement110() } -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) onSingleQuoteMarkedTextElement112() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonAttributeDeclaration1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) + return p.cur.onSingleQuoteMarkedTextElement112() } -func (c *current) onAttributeName1() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement114() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonAttributeName1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeName1() + return p.cur.onSingleQuoteMarkedTextElement114() } -func (c *current) onAttributeDeclarationValue7(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onSingleQuoteMarkedTextElement116() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue7(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement116() } -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) onSingleQuoteMarkedTextElement120() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement120() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) + return p.cur.onSingleQuoteMarkedTextElement120() } -func (c *current) onAttributeDeclarationValueElements1(elements interface{}) (interface{}, error) { - return elements.([]interface{}), nil +func (c *current) onSingleQuoteMarkedTextElement123() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValueElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValueElements1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement123() } -func (c *current) onAttributeDeclarationValueElement12() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onSingleQuoteMarkedTextElement127() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValueElement12() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValueElement12() + return p.cur.onSingleQuoteMarkedTextElement127() } -func (c *current) onAttributeDeclarationValueElement17() (interface{}, error) { - // standalone '{' - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement118() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonAttributeDeclarationValueElement17() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValueElement17() + return p.cur.onSingleQuoteMarkedTextElement118() } -func (c *current) onAttributeDeclarationValueElement1(element interface{}) (interface{}, error) { - - return element, nil +func (c *current) onSingleQuoteMarkedTextElement136() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonAttributeDeclarationValueElement1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement136() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValueElement1(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement136() } -func (c *current) onAttributeReset2(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) - +func (c *current) onSingleQuoteMarkedTextElement141() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeReset2() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeReset2(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement141() } -func (c *current) onAttributeReset11(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement134() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonAttributeReset11() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeReset11(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement134() } -func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { - return anchor, nil +func (c *current) onSingleQuoteMarkedTextElement148() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonBlockAttributes5() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes5(stack["anchor"]) + return p.cur.onSingleQuoteMarkedTextElement148() } -func (c *current) onBlockAttributes14(title interface{}) (interface{}, error) { - return title, nil +func (c *current) onSingleQuoteMarkedTextElement150() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonBlockAttributes14() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes14(stack["title"]) + return p.cur.onSingleQuoteMarkedTextElement150() } -func (c *current) onBlockAttributes23(attributes interface{}) (interface{}, error) { - return attributes, nil +func (c *current) onSingleQuoteMarkedTextElement152() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonBlockAttributes23() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes23(stack["attributes"]) + return p.cur.onSingleQuoteMarkedTextElement152() } -func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { - // c.unsetCurrentSubstitution() - return types.MergeAttributes(attributes.([]interface{})...) +func (c *current) onSingleQuoteMarkedTextElement96() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonBlockAttributes1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes1(stack["attributes"]) + return p.cur.onSingleQuoteMarkedTextElement96() } -func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { - return attribute, nil +func (c *current) onSingleQuoteMarkedTextElement154() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonInlineAttributes6() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAttributes6(stack["attribute"]) + return p.cur.onSingleQuoteMarkedTextElement154() } -func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { - return types.NewAttributes(attributes.([]interface{})...) +func (c *current) onSingleQuoteMarkedTextElement156() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonInlineAttributes1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAttributes1(stack["attributes"]) + return p.cur.onSingleQuoteMarkedTextElement156() } -func (c *current) onLegacyElementID9() (interface{}, error) { - // spaces, commas and dots are allowed in this syntax - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement158() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonLegacyElementID9() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLegacyElementID9() + return p.cur.onSingleQuoteMarkedTextElement158() } -func (c *current) onLegacyElementID14() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement160() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonLegacyElementID14() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLegacyElementID14() + return p.cur.onSingleQuoteMarkedTextElement160() } -func (c *current) onLegacyElementID5(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onSingleQuoteMarkedTextElement162() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonLegacyElementID5() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLegacyElementID5(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement162() } -func (c *current) onLegacyElementID1(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onSingleQuoteMarkedTextElement164() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonLegacyElementID1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLegacyElementID1(stack["id"]) + return p.cur.onSingleQuoteMarkedTextElement164() } -func (c *current) onShortHandTitle12() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement166() (interface{}, error) { + return types.NewSymbol("(R)") + } -func (p *parser) callonShortHandTitle12() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandTitle12() + return p.cur.onSingleQuoteMarkedTextElement166() } -func (c *current) onShortHandTitle1(elements interface{}) (interface{}, error) { - return types.NewTitleAttribute(types.Reduce(elements, strings.TrimSpace)) +func (c *current) onSingleQuoteMarkedTextElement168() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonShortHandTitle1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandTitle1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement168() } -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) onSingleQuoteMarkedTextElement172() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonLongHandAttributes1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement172() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) + return p.cur.onSingleQuoteMarkedTextElement172() } -func (c *current) onFirstPositionalAttributes8(extra interface{}) (interface{}, error) { - return extra, nil +func (c *current) onSingleQuoteMarkedTextElement175() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFirstPositionalAttributes8() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes8(stack["extra"]) + return p.cur.onSingleQuoteMarkedTextElement175() } -func (c *current) onFirstPositionalAttributes24(main, extras interface{}) (bool, error) { - // make sure there was a match - return main != nil || len(extras.([]interface{})) > 0, nil - +func (c *current) onSingleQuoteMarkedTextElement179() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFirstPositionalAttributes24() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes24(stack["main"], stack["extras"]) + return p.cur.onSingleQuoteMarkedTextElement179() } -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) onSingleQuoteMarkedTextElement170() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonFirstPositionalAttributes1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes1(stack["main"], stack["extras"]) + return p.cur.onSingleQuoteMarkedTextElement170() } -func (c *current) onShortHandIDAttribute1(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onSingleQuoteMarkedTextElement188() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonShortHandIDAttribute1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement188() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandIDAttribute1(stack["id"]) + return p.cur.onSingleQuoteMarkedTextElement188() } -func (c *current) onShortHandAttribute1(value interface{}) (interface{}, error) { - return types.NewPositionalAttribute(value) - +func (c *current) onSingleQuoteMarkedTextElement193() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortHandAttribute1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttribute1(stack["value"]) + return p.cur.onSingleQuoteMarkedTextElement193() } -func (c *current) onShortHandDotRoleAttribute1(role interface{}) (interface{}, error) { - return types.NewRoleAttribute(role) +func (c *current) onSingleQuoteMarkedTextElement186() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonShortHandDotRoleAttribute1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandDotRoleAttribute1(stack["role"]) + return p.cur.onSingleQuoteMarkedTextElement186() } -func (c *current) onShortHandOptionAttribute1(option interface{}) (interface{}, error) { - return types.NewOptionAttribute(option) +func (c *current) onSingleQuoteMarkedTextElement200() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonShortHandOptionAttribute1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandOptionAttribute1(stack["option"]) + return p.cur.onSingleQuoteMarkedTextElement200() } -func (c *current) onShortHandAttributeValue10() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement202() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonShortHandAttributeValue10() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue10() + return p.cur.onSingleQuoteMarkedTextElement202() } -func (c *current) onShortHandAttributeValue14() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement204() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonShortHandAttributeValue14() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue14() + return p.cur.onSingleQuoteMarkedTextElement204() } -func (c *current) onShortHandAttributeValue4(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onSingleQuoteMarkedTextElement206() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonShortHandAttributeValue4() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue4(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement206() } -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) onSingleQuoteMarkedTextElement208() (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) callonPositionalAttribute2() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute2(stack["value"]) + return p.cur.onSingleQuoteMarkedTextElement208() } -func (c *current) onPositionalAttribute27(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) onSingleQuoteMarkedTextElement214() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonPositionalAttribute27() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute27(stack["value"]) + return p.cur.onSingleQuoteMarkedTextElement214() } -func (c *current) onPositionalAttribute14(value interface{}) (interface{}, error) { - - return types.NewPositionalAttribute(nil) +func (c *current) onSingleQuoteMarkedTextElement222() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonPositionalAttribute14() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement222() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute14(stack["value"]) + return p.cur.onSingleQuoteMarkedTextElement222() } -func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { - return types.NewNamedAttribute(key.(string), value) +func (c *current) onSingleQuoteMarkedTextElement231() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonNamedAttribute1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute1(stack["key"], stack["value"]) + return p.cur.onSingleQuoteMarkedTextElement231() } -func (c *current) onNamedAttributeKey1() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil +func (c *current) onSingleQuoteMarkedTextElement235() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNamedAttributeKey1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttributeKey1() + return p.cur.onSingleQuoteMarkedTextElement235() } -func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { - return value, nil +func (c *current) onSingleQuoteMarkedTextElement241() (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) callonAttributeValue1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue1(stack["value"]) + return p.cur.onSingleQuoteMarkedTextElement241() } -func (c *current) onSingleQuotedAttributeValue1(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onSingleQuoteMarkedTextElement250() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValue1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValue1(stack["content"]) + return p.cur.onSingleQuoteMarkedTextElement250() } -func (c *current) onSingleQuotedAttributeValueContent10() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement246(name interface{}) (interface{}, error) { - return types.NewStringElement(`'`) // escaped single quote + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuotedAttributeValueContent10() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent10() + return p.cur.onSingleQuoteMarkedTextElement246(stack["name"]) } -func (c *current) onSingleQuotedAttributeValueContent15() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now +func (c *current) onSingleQuoteMarkedTextElement260() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent15() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent15() + return p.cur.onSingleQuoteMarkedTextElement260() } -func (c *current) onSingleQuotedAttributeValueContent17() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement256(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuotedAttributeValueContent17() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent17() + return p.cur.onSingleQuoteMarkedTextElement256(stack["name"]) } -func (c *current) onSingleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onSingleQuoteMarkedTextElement266() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedAttributeValueContent1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement266() } -func (c *current) onDoubleQuotedAttributeValue1(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onSingleQuoteMarkedTextElement227(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuotedAttributeValue1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValue1(stack["content"]) + return p.cur.onSingleQuoteMarkedTextElement227(stack["id"], stack["label"]) } -func (c *current) onDoubleQuotedAttributeValueContent10() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote +func (c *current) onSingleQuoteMarkedTextElement273() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent10() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent10() + return p.cur.onSingleQuoteMarkedTextElement273() } -func (c *current) onDoubleQuotedAttributeValueContent16() (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) onSingleQuoteMarkedTextElement269(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuotedAttributeValueContent16() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent16() + return p.cur.onSingleQuoteMarkedTextElement269(stack["id"]) } -func (c *current) onDoubleQuotedAttributeValueContent18() (interface{}, error) { - // = and , signs are allowed within " quoted values +func (c *current) onSingleQuoteMarkedTextElement225() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent18() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent18() + return p.cur.onSingleQuoteMarkedTextElement225() } -func (c *current) onDoubleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onSingleQuoteMarkedTextElement277() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement277() } -func (c *current) onUnquotedAttributeValue12() (interface{}, error) { - // not within brackets and stop on space and quotation marks (`"') - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement220(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonUnquotedAttributeValue12() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue12() + return p.cur.onSingleQuoteMarkedTextElement220(stack["element"]) } -func (c *current) onUnquotedAttributeValue18() (interface{}, error) { - // standalone characters not used in quotation marks +func (c *current) onSingleQuoteMarkedTextElement284() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonUnquotedAttributeValue18() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue18() + return p.cur.onSingleQuoteMarkedTextElement284() } -func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - +func (c *current) onSingleQuoteMarkedTextElement280(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement280(stack["ref"]) } -func (c *current) onAttributeReference3() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onSingleQuoteMarkedTextElement292() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeReference3() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeReference3() + return p.cur.onSingleQuoteMarkedTextElement292() } -func (c *current) onAttributeReference1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMarkedTextElement289() (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) callonAttributeReference1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeReference1(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement289() } -func (c *current) onAttributeReferenceValue2(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) onQuotedTextInSingleQuoteMarkedText2(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonAttributeReferenceValue2() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeReferenceValue2(stack["name"]) + return p.cur.onQuotedTextInSingleQuoteMarkedText2(stack["element"]) } -func (c *current) onAttributeReferenceValue9(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onQuotedTextInSingleQuoteMarkedText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonAttributeReferenceValue9() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMarkedText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeReferenceValue9(stack["name"]) + return p.cur.onQuotedTextInSingleQuoteMarkedText13(stack["attributes"], stack["text"]) } -func (c *current) onCounterSubstitution11(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onEscapedMarkedText5() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonCounterSubstitution11() (interface{}, error) { +func (p *parser) callonEscapedMarkedText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCounterSubstitution11(stack["name"], stack["start"]) + return p.cur.onEscapedMarkedText5() } -func (c *current) onCounterSubstitution21(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) + } -func (p *parser) callonCounterSubstitution21() (interface{}, error) { +func (p *parser) callonEscapedMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCounterSubstitution21(stack["name"], stack["start"]) + return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) } -func (c *current) onCounterStart6() (interface{}, error) { +func (c *current) onEscapedMarkedText17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCounterStart6() (interface{}, error) { +func (p *parser) callonEscapedMarkedText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCounterStart6() + return p.cur.onEscapedMarkedText17() } -func (c *current) onCounterStart8() (interface{}, error) { - - return strconv.Atoi(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) callonCounterStart8() (interface{}, error) { +func (p *parser) callonEscapedMarkedText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCounterStart8() + return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) } -func (c *current) onCounterStart1(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onEscapedMarkedText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCounterStart1() (interface{}, error) { +func (p *parser) callonEscapedMarkedText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCounterStart1(stack["start"]) + return p.cur.onEscapedMarkedText27() } -func (c *current) onBlankLine1() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) } -func (p *parser) callonBlankLine1() (interface{}, error) { +func (p *parser) callonEscapedMarkedText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlankLine1() + return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) } -func (c *current) onInternalCrossReference2(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSubscript, element) } -func (p *parser) callonInternalCrossReference2() (interface{}, error) { +func (p *parser) callonSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInternalCrossReference2(stack["id"], stack["label"]) + return p.cur.onSubscriptText1(stack["element"]) } -func (c *current) onInternalCrossReference13(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSubscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '~' + return c.text, nil } -func (p *parser) callonInternalCrossReference13() (interface{}, error) { +func (p *parser) callonSubscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInternalCrossReference13(stack["id"]) + return p.cur.onSubscriptTextElement3() } -func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { - return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onEscapedSubscriptText4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference1() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) + return p.cur.onEscapedSubscriptText4() } -func (c *current) onCrossReferenceLabel3() (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) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "~", element) } -func (p *parser) callonCrossReferenceLabel3() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReferenceLabel3() + return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onCrossReferenceLabel9() (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) callonCrossReferenceLabel9() (interface{}, error) { +func (p *parser) callonSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReferenceLabel9() + return p.cur.onSuperscriptText1(stack["element"]) } -func (c *current) onBlockDelimiter1(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onSuperscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '^' + return c.text, nil } -func (p *parser) callonBlockDelimiter1() (interface{}, error) { +func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockDelimiter1(stack["delimiter"]) + return p.cur.onSuperscriptTextElement3() } -func (c *current) onCommentBlockDelimiter4() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onEscapedSuperscriptText4() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCommentBlockDelimiter4() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCommentBlockDelimiter4() + return p.cur.onEscapedSuperscriptText4() } -func (c *current) onCommentBlockDelimiter1(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "^", element) } -func (p *parser) callonCommentBlockDelimiter1() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCommentBlockDelimiter1(stack["delimiter"]) + return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onExampleBlockDelimiter4() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onSubstitutions17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExampleBlockDelimiter4() (interface{}, error) { +func (p *parser) callonSubstitutions17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExampleBlockDelimiter4() + return p.cur.onSubstitutions17() } -func (c *current) onExampleBlockDelimiter1(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - +func (c *current) onSubstitutions22() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExampleBlockDelimiter1() (interface{}, error) { +func (p *parser) callonSubstitutions22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExampleBlockDelimiter1(stack["delimiter"]) + return p.cur.onSubstitutions22() } -func (c *current) onFencedBlockDelimiter4() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onSubstitutions12() (interface{}, error) { + // TODO: also allow trailing quotes/quotation marks? + return types.NewStringElement(string(c.text)) } -func (p *parser) callonFencedBlockDelimiter4() (interface{}, error) { +func (p *parser) callonSubstitutions12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFencedBlockDelimiter4() + return p.cur.onSubstitutions12() } -func (c *current) onFencedBlockDelimiter1(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +func (c *current) onSubstitutions29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFencedBlockDelimiter1() (interface{}, error) { +func (p *parser) callonSubstitutions29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFencedBlockDelimiter1(stack["delimiter"]) + return p.cur.onSubstitutions29() } -func (c *current) onMarkdownCodeDelimiter1(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onSubstitutions31() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonMarkdownCodeDelimiter1() (interface{}, error) { +func (p *parser) callonSubstitutions31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownCodeDelimiter1(stack["language"]) + return p.cur.onSubstitutions31() } -func (c *current) onLanguage1() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onSubstitutions40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLanguage1() (interface{}, error) { +func (p *parser) callonSubstitutions40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLanguage1() + return p.cur.onSubstitutions40() } -func (c *current) onListingBlockDelimiter4() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil - +func (c *current) onSubstitutions36(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonListingBlockDelimiter4() (interface{}, error) { +func (p *parser) callonSubstitutions36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListingBlockDelimiter4() + return p.cur.onSubstitutions36(stack["ref"]) } -func (c *current) onListingBlockDelimiter1(delimiter interface{}) (interface{}, error) { +func (c *current) onSubstitutions46() (bool, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil } -func (p *parser) callonListingBlockDelimiter1() (interface{}, error) { +func (p *parser) callonSubstitutions46() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListingBlockDelimiter1(stack["delimiter"]) + return p.cur.onSubstitutions46() } -func (c *current) onLiteralBlockDelimiter4() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onSubstitutions49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLiteralBlockDelimiter4() (interface{}, error) { +func (p *parser) callonSubstitutions49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralBlockDelimiter4() + return p.cur.onSubstitutions49() } -func (c *current) onLiteralBlockDelimiter1(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - +func (c *current) onSubstitutions53() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLiteralBlockDelimiter1() (interface{}, error) { +func (p *parser) callonSubstitutions53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralBlockDelimiter1(stack["delimiter"]) + return p.cur.onSubstitutions53() } -func (c *current) onPassthroughBlockDelimiter4() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onSubstitutions44() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonPassthroughBlockDelimiter4() (interface{}, error) { +func (p *parser) callonSubstitutions44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughBlockDelimiter4() + return p.cur.onSubstitutions44() } -func (c *current) onPassthroughBlockDelimiter1(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) - +func (c *current) onSubstitutions63() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughBlockDelimiter1() (interface{}, error) { +func (p *parser) callonSubstitutions63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughBlockDelimiter1(stack["delimiter"]) + return p.cur.onSubstitutions63() } -func (c *current) onQuoteBlockDelimiter4() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onSubstitutions67() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonQuoteBlockDelimiter4() (interface{}, error) { +func (p *parser) callonSubstitutions67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuoteBlockDelimiter4() + return p.cur.onSubstitutions67() } -func (c *current) onQuoteBlockDelimiter1(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) - +func (c *current) onSubstitutions69() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonQuoteBlockDelimiter1() (interface{}, error) { +func (p *parser) callonSubstitutions69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuoteBlockDelimiter1(stack["delimiter"]) + return p.cur.onSubstitutions69() } -func (c *current) onSidebarBlockDelimiter4() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil - +func (c *current) onSubstitutions60(char interface{}) (interface{}, error) { + return char, nil } -func (p *parser) callonSidebarBlockDelimiter4() (interface{}, error) { +func (p *parser) callonSubstitutions60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSidebarBlockDelimiter4() + return p.cur.onSubstitutions60(stack["char"]) } -func (c *current) onSidebarBlockDelimiter1(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onSubstitutions82() (bool, error) { + return c.isSubstitutionEnabled(Replacements), nil } -func (p *parser) callonSidebarBlockDelimiter1() (interface{}, error) { +func (p *parser) callonSubstitutions82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSidebarBlockDelimiter1(stack["delimiter"]) + return p.cur.onSubstitutions82() } -func (c *current) onDelimitedBlockRawLine6() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onSubstitutions89() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDelimitedBlockRawLine6() (interface{}, error) { +func (p *parser) callonSubstitutions89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockRawLine6() + return p.cur.onSubstitutions89() } -func (c *current) onDelimitedBlockRawLine1(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onSubstitutions91() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDelimitedBlockRawLine1() (interface{}, error) { +func (p *parser) callonSubstitutions91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockRawLine1(stack["content"]) + return p.cur.onSubstitutions91() } -func (c *current) onCommentBlock1(content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onSubstitutions93() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonCommentBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCommentBlock1(stack["content"]) + return p.cur.onSubstitutions93() } -func (c *current) onCommentBlockContent2(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onSubstitutions95() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonCommentBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCommentBlockContent2(stack["line"]) + return p.cur.onSubstitutions95() } -func (c *current) onExampleBlock5(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions97() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonExampleBlock5() (bool, error) { +func (p *parser) callonSubstitutions97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExampleBlock5(stack["start"]) + return p.cur.onSubstitutions97() } -func (c *current) onExampleBlock1(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Example, content.([]interface{})) +func (c *current) onSubstitutions99() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonExampleBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExampleBlock1(stack["start"], stack["content"], stack["end"]) + return p.cur.onSubstitutions99() } -func (c *current) onExampleBlockEndDelimiter5(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions101() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonExampleBlockEndDelimiter5() (bool, error) { +func (p *parser) callonSubstitutions101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExampleBlockEndDelimiter5(stack["end"]) + return p.cur.onSubstitutions101() } -func (c *current) onExampleBlockContent2(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onSubstitutions103() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonExampleBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExampleBlockContent2(stack["line"]) + return p.cur.onSubstitutions103() } -func (c *current) onFencedBlock5(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions105() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonFencedBlock5() (bool, error) { +func (p *parser) callonSubstitutions105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFencedBlock5(stack["start"]) + return p.cur.onSubstitutions105() } -func (c *current) onFencedBlock1(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) +func (c *current) onSubstitutions109() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonFencedBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions109() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFencedBlock1(stack["start"], stack["content"], stack["end"]) + return p.cur.onSubstitutions109() } -func (c *current) onFencedBlockEndDelimiter5(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions112() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFencedBlockEndDelimiter5() (bool, error) { +func (p *parser) callonSubstitutions112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFencedBlockEndDelimiter5(stack["end"]) + return p.cur.onSubstitutions112() } -func (c *current) onFencedBlockContent2(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onSubstitutions116() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFencedBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFencedBlockContent2(stack["line"]) + return p.cur.onSubstitutions116() } -func (c *current) onListingBlock5(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions107() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonListingBlock5() (bool, error) { +func (p *parser) callonSubstitutions107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListingBlock5(stack["start"]) + return p.cur.onSubstitutions107() } -func (c *current) onListingBlock1(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) +func (c *current) onSubstitutions125() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonListingBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions125() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListingBlock1(stack["start"], stack["content"], stack["end"]) + return p.cur.onSubstitutions125() } -func (c *current) onListingBlockEndDelimiter5(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - +func (c *current) onSubstitutions130() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListingBlockEndDelimiter5() (bool, error) { +func (p *parser) callonSubstitutions130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListingBlockEndDelimiter5(stack["end"]) + return p.cur.onSubstitutions130() } -func (c *current) onListingBlockContent2(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onSubstitutions123() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonListingBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListingBlockContent2(stack["line"]) + return p.cur.onSubstitutions123() } -func (c *current) onLiteralBlock5(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions137() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonLiteralBlock5() (bool, error) { +func (p *parser) callonSubstitutions137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralBlock5(stack["start"]) + return p.cur.onSubstitutions137() } -func (c *current) onLiteralBlock1(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) +func (c *current) onSubstitutions139() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonLiteralBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralBlock1(stack["start"], stack["content"], stack["end"]) + return p.cur.onSubstitutions139() } -func (c *current) onLiteralBlockEndDelimiter5(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions141() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonLiteralBlockEndDelimiter5() (bool, error) { +func (p *parser) callonSubstitutions141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralBlockEndDelimiter5(stack["end"]) + return p.cur.onSubstitutions141() } -func (c *current) onLiteralBlockContent2(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onSubstitutions85() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonLiteralBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralBlockContent2(stack["line"]) + return p.cur.onSubstitutions85() } -func (c *current) onMarkdownCodeBlock1(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) onSubstitutions143() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonMarkdownCodeBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownCodeBlock1(stack["delimiter"], stack["content"]) + return p.cur.onSubstitutions143() } -func (c *current) onMarkdownCodeBlockContent2(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onSubstitutions145() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonMarkdownCodeBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownCodeBlockContent2(stack["line"]) + return p.cur.onSubstitutions145() } -func (c *current) onMarkdownQuoteBlock1(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onSubstitutions147() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonMarkdownQuoteBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteBlock1(stack["firstLine"], stack["otherLines"]) + return p.cur.onSubstitutions147() } -func (c *current) onMarkdownQuoteRawLine7() (interface{}, error) { - - return string(c.text), nil +func (c *current) onSubstitutions149() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonMarkdownQuoteRawLine7() (interface{}, error) { +func (p *parser) callonSubstitutions149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteRawLine7() + return p.cur.onSubstitutions149() } -func (c *current) onMarkdownQuoteRawLine1(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onSubstitutions151() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonMarkdownQuoteRawLine1() (interface{}, error) { +func (p *parser) callonSubstitutions151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteRawLine1(stack["content"]) + return p.cur.onSubstitutions151() } -func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { - return string(c.text), nil +func (c *current) onSubstitutions153() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { +func (p *parser) callonSubstitutions153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution5() + return p.cur.onSubstitutions153() } -func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { - return author, nil +func (c *current) onSubstitutions155() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { +func (p *parser) callonSubstitutions155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution1(stack["author"]) + return p.cur.onSubstitutions155() } -func (c *current) onPassthroughBlock5(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions157() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonPassthroughBlock5() (bool, error) { +func (p *parser) callonSubstitutions157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughBlock5(stack["start"]) + return p.cur.onSubstitutions157() } -func (c *current) onPassthroughBlock1(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) +func (c *current) onSubstitutions161() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonPassthroughBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions161() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughBlock1(stack["start"], stack["content"], stack["end"]) + return p.cur.onSubstitutions161() } -func (c *current) onPassthroughBlockEndDelimiter5(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions164() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughBlockEndDelimiter5() (bool, error) { +func (p *parser) callonSubstitutions164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughBlockEndDelimiter5(stack["end"]) + return p.cur.onSubstitutions164() } -func (c *current) onPassthroughBlockContent2(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onSubstitutions168() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonPassthroughBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughBlockContent2(stack["line"]) + return p.cur.onSubstitutions168() } -func (c *current) onQuoteBlock5(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions159() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonQuoteBlock5() (bool, error) { +func (p *parser) callonSubstitutions159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuoteBlock5(stack["start"]) + return p.cur.onSubstitutions159() } -func (c *current) onQuoteBlock1(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) +func (c *current) onSubstitutions177() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonQuoteBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions177() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuoteBlock1(stack["start"], stack["content"], stack["end"]) + return p.cur.onSubstitutions177() } -func (c *current) onQuoteBlockEndDelimiter5(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - +func (c *current) onSubstitutions182() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonQuoteBlockEndDelimiter5() (bool, error) { +func (p *parser) callonSubstitutions182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuoteBlockEndDelimiter5(stack["end"]) + return p.cur.onSubstitutions182() } -func (c *current) onQuoteBlockContent2(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onSubstitutions175() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonQuoteBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuoteBlockContent2(stack["line"]) + return p.cur.onSubstitutions175() } -func (c *current) onSidebarBlock5(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions189() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonSidebarBlock5() (bool, error) { +func (p *parser) callonSubstitutions189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSidebarBlock5(stack["start"]) + return p.cur.onSubstitutions189() } -func (c *current) onSidebarBlock1(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) +func (c *current) onSubstitutions191() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonSidebarBlock1() (interface{}, error) { +func (p *parser) callonSubstitutions191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSidebarBlock1(stack["start"], stack["content"], stack["end"]) + return p.cur.onSubstitutions191() } -func (c *current) onSidebarBlockEndDelimiter5(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onSubstitutions193() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonSidebarBlockEndDelimiter5() (bool, error) { +func (p *parser) callonSubstitutions193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSidebarBlockEndDelimiter5(stack["end"]) + return p.cur.onSubstitutions193() } -func (c *current) onSidebarBlockContent2(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onSubstitutions195() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonSidebarBlockContent2() (interface{}, error) { +func (p *parser) callonSubstitutions195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSidebarBlockContent2(stack["line"]) + return p.cur.onSubstitutions195() } -func (c *current) onDocumentHeader3() (bool, error) { - return c.isDocumentHeaderAllowed(), nil +func (c *current) onSubstitutions197() (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) callonDocumentHeader3() (bool, error) { +func (p *parser) callonSubstitutions197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader3() + return p.cur.onSubstitutions197() } -func (c *current) onDocumentHeader11(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) onSubstitutions203() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonDocumentHeader11() (bool, error) { +func (p *parser) callonSubstitutions203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader11(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) + return p.cur.onSubstitutions203() } -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) onSubstitutions80(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentHeader1() (interface{}, error) { +func (p *parser) callonSubstitutions80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader1(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) + return p.cur.onSubstitutions80(stack["element"]) } -func (c *current) onDocumentInformation1(title, authorsAndRevision interface{}) (interface{}, error) { - return types.NewDocumentInformation(title.([]interface{}), authorsAndRevision) +func (c *current) onSubstitutions211() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDocumentInformation1() (interface{}, error) { +func (p *parser) callonSubstitutions211() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentInformation1(stack["title"], stack["authorsAndRevision"]) + return p.cur.onSubstitutions211() } -func (c *current) onDocumentTitle1(title interface{}) (interface{}, error) { - return title, nil +func (c *current) onSubstitutions220() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDocumentTitle1() (interface{}, error) { +func (p *parser) callonSubstitutions220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentTitle1(stack["title"]) + return p.cur.onSubstitutions220() } -func (c *current) onDocumentAuthorsAndRevision1(authors, revision interface{}) (interface{}, error) { - return types.NewDocumentAuthorsAndRevision(authors.(types.DocumentAuthors), revision) +func (c *current) onSubstitutions224() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentAuthorsAndRevision1() (interface{}, error) { +func (p *parser) callonSubstitutions224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorsAndRevision1(stack["authors"], stack["revision"]) + return p.cur.onSubstitutions224() } -func (c *current) onDocumentAuthors1(authors interface{}) (interface{}, error) { - return authors, nil +func (c *current) onSubstitutions230() (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) callonDocumentAuthors1() (interface{}, error) { +func (p *parser) callonSubstitutions230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthors1(stack["authors"]) + return p.cur.onSubstitutions230() } -func (c *current) onDocumentAuthorsInlineForm1(authors interface{}) (interface{}, error) { - return types.NewDocumentAuthors(authors.([]interface{})...) +func (c *current) onSubstitutions239() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentAuthorsInlineForm1() (interface{}, error) { +func (p *parser) callonSubstitutions239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorsInlineForm1(stack["authors"]) + return p.cur.onSubstitutions239() } -func (c *current) onDocumentAuthorsAttributeForm1(author interface{}) (interface{}, error) { - return types.NewDocumentAuthors(author) +func (c *current) onSubstitutions235(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) callonDocumentAuthorsAttributeForm1() (interface{}, error) { +func (p *parser) callonSubstitutions235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorsAttributeForm1(stack["author"]) + return p.cur.onSubstitutions235(stack["name"]) } -func (c *current) onDocumentAuthor15(fullName, email interface{}) (bool, error) { - // at least 1 of [fullName, email] must be defined - return fullName != nil || email != nil, nil +func (c *current) onSubstitutions249() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentAuthor15() (bool, error) { +func (p *parser) callonSubstitutions249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthor15(stack["fullName"], stack["email"]) + return p.cur.onSubstitutions249() } -func (c *current) onDocumentAuthor1(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onSubstitutions245(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentAuthor1() (interface{}, error) { +func (p *parser) callonSubstitutions245() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthor1(stack["fullName"], stack["email"]) + return p.cur.onSubstitutions245(stack["name"]) } -func (c *current) onDocumentAuthorFullName4() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onSubstitutions255() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentAuthorFullName4() (interface{}, error) { +func (p *parser) callonSubstitutions255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName4() + return p.cur.onSubstitutions255() } -func (c *current) onDocumentAuthorFullName11() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onSubstitutions216(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDocumentAuthorFullName11() (interface{}, error) { +func (p *parser) callonSubstitutions216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName11() + return p.cur.onSubstitutions216(stack["id"], stack["label"]) } -func (c *current) onDocumentAuthorFullName18() (interface{}, error) { - // spaces allowed +func (c *current) onSubstitutions262() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentAuthorFullName18() (interface{}, error) { +func (p *parser) callonSubstitutions262() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName18() + return p.cur.onSubstitutions262() } -func (c *current) onDocumentAuthorFullName1(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) +func (c *current) onSubstitutions258(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDocumentAuthorFullName1() (interface{}, error) { +func (p *parser) callonSubstitutions258() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName1(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onSubstitutions258(stack["id"]) } -func (c *current) onDocumentAuthorEmail7() (interface{}, error) { - return string(c.text), nil +func (c *current) onSubstitutions214() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentAuthorEmail7() (interface{}, error) { +func (p *parser) callonSubstitutions214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorEmail7() + return p.cur.onSubstitutions214() } -func (c *current) onDocumentAuthorEmail1(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onSubstitutions266() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDocumentAuthorEmail1() (interface{}, error) { +func (p *parser) callonSubstitutions266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorEmail1(stack["email"]) + return p.cur.onSubstitutions266() } -func (c *current) onDocumentRevision9(revnumber, revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(revnumber, revdate, revremark) +func (c *current) onSubstitutions209(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentRevision9() (interface{}, error) { +func (p *parser) callonSubstitutions209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRevision9(stack["revnumber"], stack["revdate"], stack["revremark"]) + return p.cur.onSubstitutions209(stack["element"]) } -func (c *current) onDocumentRevision23(revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(nil, revdate, revremark) +func (c *current) onSubstitutions270() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentRevision23() (interface{}, error) { +func (p *parser) callonSubstitutions270() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRevision23(stack["revdate"], stack["revremark"]) + return p.cur.onSubstitutions270() } -func (c *current) onDocumentRevision1(revision interface{}) (interface{}, error) { - return revision, nil +func (c *current) onSubstitutions277() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentRevision1() (interface{}, error) { +func (p *parser) callonSubstitutions277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRevision1(stack["revision"]) + return p.cur.onSubstitutions277() } -func (c *current) onDocumentRevisionNumber2() (interface{}, error) { +func (c *current) onSubstitutions289() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRevisionNumber2() (interface{}, error) { +func (p *parser) callonSubstitutions289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRevisionNumber2() + return p.cur.onSubstitutions289() } -func (c *current) onDocumentRevisionNumber8() (interface{}, error) { - return string(c.text), nil +func (c *current) onSubstitutions291() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentRevisionNumber8() (interface{}, error) { +func (p *parser) callonSubstitutions291() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRevisionNumber8() + return p.cur.onSubstitutions291() } -func (c *current) onDocumentRevisionDate1() (interface{}, error) { - return string(c.text), nil +func (c *current) onSubstitutions284(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentRevisionDate1() (interface{}, error) { +func (p *parser) callonSubstitutions284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRevisionDate1() + return p.cur.onSubstitutions284(stack["start"]) } -func (c *current) onDocumentRevisionRemark1() (interface{}, error) { - return string(c.text), nil +func (c *current) onSubstitutions273(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentRevisionRemark1() (interface{}, error) { +func (p *parser) callonSubstitutions273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRevisionRemark1() + return p.cur.onSubstitutions273(stack["name"], stack["start"]) } -func (c *current) onElementPlaceHolder5() (interface{}, error) { +func (c *current) onSubstitutions299() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonElementPlaceHolder5() (interface{}, error) { +func (p *parser) callonSubstitutions299() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementPlaceHolder5() + return p.cur.onSubstitutions299() } -func (c *current) onElementPlaceHolder1(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSubstitutions311() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonElementPlaceHolder1() (interface{}, error) { +func (p *parser) callonSubstitutions311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementPlaceHolder1(stack["ref"]) + return p.cur.onSubstitutions311() } -func (c *current) onLineBreak3() (bool, error) { +func (c *current) onSubstitutions313() (interface{}, error) { - return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLineBreak3() (bool, error) { +func (p *parser) callonSubstitutions313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineBreak3() + return p.cur.onSubstitutions313() } -func (c *current) onLineBreak1() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onSubstitutions306(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonLineBreak1() (interface{}, error) { +func (p *parser) callonSubstitutions306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineBreak1() + return p.cur.onSubstitutions306(stack["start"]) } -func (c *current) onFrontMatter3() (bool, error) { - return c.isFrontMatterAllowed(), nil - +func (c *current) onSubstitutions295(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonFrontMatter3() (bool, error) { +func (p *parser) callonSubstitutions295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFrontMatter3() + return p.cur.onSubstitutions295(stack["name"], stack["start"]) } -func (c *current) onFrontMatter1(frontmatter interface{}) (interface{}, error) { - return frontmatter, nil +func (c *current) onSubstitutions321() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFrontMatter1() (interface{}, error) { +func (p *parser) callonSubstitutions321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFrontMatter1(stack["frontmatter"]) + return p.cur.onSubstitutions321() } -func (c *current) onYamlFrontMatter1(content interface{}) (interface{}, error) { - return types.NewYamlFrontMatter(content.(string)) +func (c *current) onSubstitutions317(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) callonYamlFrontMatter1() (interface{}, error) { +func (p *parser) callonSubstitutions317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onYamlFrontMatter1(stack["content"]) + return p.cur.onSubstitutions317(stack["name"]) } -func (c *current) onYamlFrontMatterContent1() (interface{}, error) { +func (c *current) onSubstitutions331() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonYamlFrontMatterContent1() (interface{}, error) { +func (p *parser) callonSubstitutions331() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onYamlFrontMatterContent1() + return p.cur.onSubstitutions331() } -func (c *current) onFrontMatterLine1() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onSubstitutions327(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonFrontMatterLine1() (interface{}, error) { +func (p *parser) callonSubstitutions327() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFrontMatterLine1() + return p.cur.onSubstitutions327(stack["name"]) } -func (c *current) onInlineElement1(element interface{}) (interface{}, error) { - c.trackSuffix(element) +func (c *current) onSubstitutions268(element interface{}) (interface{}, error) { return element, nil + } -func (p *parser) callonInlineElement1() (interface{}, error) { +func (p *parser) callonSubstitutions268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement1(stack["element"]) + return p.cur.onSubstitutions268(stack["element"]) } -func (c *current) onInlineAnchor2(id interface{}) (interface{}, error) { - //return types.NewStringElement("[[" + id.(string) + "]]") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSubstitutions337() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineAnchor2() (interface{}, error) { +func (p *parser) callonSubstitutions337() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAnchor2(stack["id"]) + return p.cur.onSubstitutions337() } -func (c *current) onInlineAnchor9(id interface{}) (interface{}, error) { - // no EOL here since there can be multiple InlineElementID on the same line - return types.NewInlineAnchor(id.(string)) +func (c *current) onSubstitutions5(element interface{}) (interface{}, error) { + c.trackSuffix(element) + return element, nil } -func (p *parser) callonInlineAnchor9() (interface{}, error) { +func (p *parser) callonSubstitutions5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAnchor9(stack["id"]) + return p.cur.onSubstitutions5(stack["element"]) } -func (c *current) onInlineButton3() (bool, error) { - return c.isExperimentalEnabled(), nil +func (c *current) onSubstitutions1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements) } -func (p *parser) callonInlineButton3() (bool, error) { +func (p *parser) callonSubstitutions1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineButton3() + return p.cur.onSubstitutions1(stack["elements"]) } -func (c *current) onInlineButton1(attributes interface{}) (interface{}, error) { - return types.NewInlineButton(attributes.(types.Attributes)) +func (c *current) onAttributeStructuredValue8() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineButton1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineButton1(stack["attributes"]) + return p.cur.onAttributeStructuredValue8() } -func (c *current) onInlineMenu3() (bool, error) { - return c.isExperimentalEnabled(), nil +func (c *current) onAttributeStructuredValue17() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineMenu3() (bool, error) { +func (p *parser) callonAttributeStructuredValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu3() + return p.cur.onAttributeStructuredValue17() } -func (c *current) onInlineMenu1(id, attributes interface{}) (interface{}, error) { - return types.NewInlineMenu(id.(string), attributes.(types.Attributes)) +func (c *current) onAttributeStructuredValue26() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineMenu1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu1(stack["id"], stack["attributes"]) + return p.cur.onAttributeStructuredValue26() } -func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { - return types.NewIndexTerm(term.([]interface{})) +func (c *current) onAttributeStructuredValue30() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonIndexTerm1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue30() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTerm1(stack["term"]) + return p.cur.onAttributeStructuredValue30() } -func (c *current) onIndexTermContent10() (interface{}, error) { +func (c *current) onAttributeStructuredValue39() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonIndexTermContent10() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent10() + return p.cur.onAttributeStructuredValue39() } -func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onAttributeStructuredValue43() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonIndexTermContent1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent1(stack["elements"]) + return p.cur.onAttributeStructuredValue43() } -func (c *current) onConcealedIndexTerm8(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onAttributeStructuredValue49() (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) callonConcealedIndexTerm8() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onConcealedIndexTerm8(stack["content"]) + return p.cur.onAttributeStructuredValue49() } -func (c *current) onConcealedIndexTerm19(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onAttributeStructuredValue58() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonConcealedIndexTerm19() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onConcealedIndexTerm19(stack["content"]) + return p.cur.onAttributeStructuredValue58() } -func (c *current) onConcealedIndexTerm1(term1, term2, term3 interface{}) (interface{}, error) { - return types.NewConcealedIndexTerm(term1, term2, term3) +func (c *current) onAttributeStructuredValue54(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) callonConcealedIndexTerm1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onConcealedIndexTerm1(stack["term1"], stack["term2"], stack["term3"]) + return p.cur.onAttributeStructuredValue54(stack["name"]) } -func (c *current) onConcealedIndexTermContent1() (interface{}, error) { +func (c *current) onAttributeStructuredValue68() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonConcealedIndexTermContent1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onConcealedIndexTermContent1() + return p.cur.onAttributeStructuredValue68() } -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) onAttributeStructuredValue64(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonImageBlock1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock1(stack["path"], stack["attributes"]) + return p.cur.onAttributeStructuredValue64(stack["name"]) } -func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { - return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) +func (c *current) onAttributeStructuredValue74() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage1(stack["path"], stack["attributes"]) + return p.cur.onAttributeStructuredValue74() } -func (c *current) onInlineIcon5() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeStructuredValue35(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonInlineIcon5() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon5() + return p.cur.onAttributeStructuredValue35(stack["id"], stack["label"]) } -func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { - return types.NewIcon(icon.(string), attributes) +func (c *current) onAttributeStructuredValue81() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonInlineIcon1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) + return p.cur.onAttributeStructuredValue81() } -func (c *current) onInlineFootnote2(elements interface{}) (interface{}, error) { - return types.NewFootnote("", elements.([]interface{})) +func (c *current) onAttributeStructuredValue77(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonInlineFootnote2() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote2(stack["elements"]) + return p.cur.onAttributeStructuredValue77(stack["id"]) } -func (c *current) onInlineFootnote8(ref, elements interface{}) (interface{}, error) { - // TODO: use only this rule with `ref:(FootnoteRef)?` - return types.NewFootnote(ref.(string), elements.([]interface{})) +func (c *current) onAttributeStructuredValue33() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineFootnote8() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote8(stack["ref"], stack["elements"]) + return p.cur.onAttributeStructuredValue33() } -func (c *current) onFootnoteElements1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onAttributeStructuredValue85() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonFootnoteElements1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteElements1(stack["elements"]) + return p.cur.onAttributeStructuredValue85() } -func (c *current) onFootnoteElement1(element interface{}) (interface{}, error) { +func (c *current) onAttributeStructuredValue28(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonFootnoteElement1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteElement1(stack["element"]) + return p.cur.onAttributeStructuredValue28(stack["element"]) } -func (c *current) onSinglePlusPassthrough1(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.SinglePlusPassthrough, []interface{}{content}) +func (c *current) onAttributeStructuredValue91() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonSinglePlusPassthrough1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSinglePlusPassthrough1(stack["content"]) + return p.cur.onAttributeStructuredValue91() } -func (c *current) onSinglePlusPassthroughContent2() (interface{}, error) { - // no space in the first or last position of the content, but allowed elsewhere - return types.NewStringElement(string(c.text)) +func (c *current) onAttributeStructuredValue93() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonSinglePlusPassthroughContent2() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSinglePlusPassthroughContent2() + return p.cur.onAttributeStructuredValue93() } -func (c *current) onSinglePlusPassthroughContent23() (interface{}, error) { - // a single character - return types.NewStringElement(string(c.text)) +func (c *current) onAttributeStructuredValue95() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonSinglePlusPassthroughContent23() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSinglePlusPassthroughContent23() + return p.cur.onAttributeStructuredValue95() } -func (c *current) onTriplePlusPassthrough1(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.TriplePlusPassthrough, []interface{}{content}) +func (c *current) onAttributeStructuredValue97() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonTriplePlusPassthrough1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTriplePlusPassthrough1(stack["content"]) + return p.cur.onAttributeStructuredValue97() } -func (c *current) onTriplePlusPassthroughContent2() (interface{}, error) { - // spaces and newlines are also allowed in the first or last position of the content and elsewhere too - return types.NewStringElement(string(c.text)) +func (c *current) onAttributeStructuredValue99() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonTriplePlusPassthroughContent2() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTriplePlusPassthroughContent2() + return p.cur.onAttributeStructuredValue99() } -func (c *current) onTriplePlusPassthroughContent8() (interface{}, error) { - // a single character - return types.NewStringElement(string(c.text)) +func (c *current) onAttributeStructuredValue101() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonTriplePlusPassthroughContent8() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTriplePlusPassthroughContent8() + return p.cur.onAttributeStructuredValue101() } -func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) +func (c *current) onAttributeStructuredValue103() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonPassthroughMacro2() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro2(stack["content"]) + return p.cur.onAttributeStructuredValue103() } -func (c *current) onPassthroughMacro9(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) +func (c *current) onAttributeStructuredValue105() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonPassthroughMacro9() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro9(stack["content"]) + return p.cur.onAttributeStructuredValue105() } -func (c *current) onPassthroughMacroCharacter1() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onAttributeStructuredValue107() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonPassthroughMacroCharacter1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacroCharacter1() + return p.cur.onAttributeStructuredValue107() } -func (c *current) onBareURL8(url interface{}) (bool, error) { - return url.(*types.Location).TrimAngleBracketSuffix() +func (c *current) onAttributeStructuredValue111() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonBareURL8() (bool, error) { +func (p *parser) callonAttributeStructuredValue111() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBareURL8(stack["url"]) + return p.cur.onAttributeStructuredValue111() } -func (c *current) onBareURL1(url interface{}) (interface{}, error) { +func (c *current) onAttributeStructuredValue114() (interface{}, error) { + return string(c.text), nil - return types.NewInlineLink(url.(*types.Location), nil) +} + +func (p *parser) callonAttributeStructuredValue114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onAttributeStructuredValue114() +} +func (c *current) onAttributeStructuredValue118() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonBareURL1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBareURL1(stack["url"]) + return p.cur.onAttributeStructuredValue118() } -func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onAttributeStructuredValue109() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonRelativeLink2() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) + return p.cur.onAttributeStructuredValue109() } -func (c *current) onRelativeLink10(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onAttributeStructuredValue127() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonRelativeLink10() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue127() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink10(stack["url"], stack["attributes"]) + return p.cur.onAttributeStructuredValue127() } -func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onAttributeStructuredValue132() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink2() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink2(stack["url"], stack["attributes"]) + return p.cur.onAttributeStructuredValue132() } -func (c *current) onExternalLink10(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes) +func (c *current) onAttributeStructuredValue125() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonExternalLink10() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink10(stack["url"], stack["attributes"]) + return p.cur.onAttributeStructuredValue125() } -func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { - return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) +func (c *current) onAttributeStructuredValue139() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonListElements1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) + return p.cur.onAttributeStructuredValue139() } -func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { - return types.Flatten(elements.([]interface{})), nil +func (c *current) onAttributeStructuredValue141() (interface{}, error) { + return types.NewSymbol("=>") + } -func (p *parser) callonExtraListElements1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElements1(stack["elements"]) + return p.cur.onAttributeStructuredValue141() } -func (c *current) onExtraListElement7(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onAttributeStructuredValue143() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonExtraListElement7() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement7(stack["element"]) + return p.cur.onAttributeStructuredValue143() } -func (c *current) onExtraListElement13(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onAttributeStructuredValue87() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExtraListElement13() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement13(stack["attributes"], stack["element"]) + return p.cur.onAttributeStructuredValue87() } -func (c *current) onExtraListElement20(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onAttributeStructuredValue145() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonExtraListElement20() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement20(stack["element"]) + return p.cur.onAttributeStructuredValue145() } -func (c *current) onExtraListElement26(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onAttributeStructuredValue147() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonExtraListElement26() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement26(stack["attributes"], stack["element"]) + return p.cur.onAttributeStructuredValue147() } -func (c *current) onExtraListElement33(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onAttributeStructuredValue149() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonExtraListElement33() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement33(stack["element"]) + return p.cur.onAttributeStructuredValue149() } -func (c *current) onExtraListElement39(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onAttributeStructuredValue151() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonExtraListElement39() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement39(stack["attributes"], stack["element"]) + return p.cur.onAttributeStructuredValue151() } -func (c *current) onExtraListElement47(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onAttributeStructuredValue153() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonExtraListElement47() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement47(stack["element"]) + return p.cur.onAttributeStructuredValue153() } -func (c *current) onExtraListElement53(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onAttributeStructuredValue155() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonExtraListElement53() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement53(stack["attributes"], stack["element"]) + return p.cur.onAttributeStructuredValue155() } -func (c *current) onExtraListElement61(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) onAttributeStructuredValue157() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonExtraListElement61() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement61(stack["attributes"], stack["element"]) + return p.cur.onAttributeStructuredValue157() } -func (c *current) onExtraListElement70(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onAttributeStructuredValue159() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonExtraListElement70() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement70(stack["element"]) + return p.cur.onAttributeStructuredValue159() } -func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onAttributeStructuredValue163() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonExtraListElement1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue163() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1(stack["element"]) + return p.cur.onAttributeStructuredValue163() } -func (c *current) onListElementParagraphLine2() (interface{}, error) { - return nil, nil // taking a shortcut to ignore commented out content and avoid having empty paragraphs +func (c *current) onAttributeStructuredValue166() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementParagraphLine2() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementParagraphLine2() + return p.cur.onAttributeStructuredValue166() } -func (c *current) onListElementParagraphLine23() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil - +func (c *current) onAttributeStructuredValue170() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementParagraphLine23() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementParagraphLine23() + return p.cur.onAttributeStructuredValue170() } -func (c *current) onListElementParagraphLine4(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onAttributeStructuredValue161() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonListElementParagraphLine4() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementParagraphLine4(stack["content"]) + return p.cur.onAttributeStructuredValue161() } -func (c *current) onListElementContent4() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onAttributeStructuredValue179() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonListElementContent4() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue179() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContent4() + return p.cur.onAttributeStructuredValue179() } -func (c *current) onListElementContent1(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) - +func (c *current) onAttributeStructuredValue184() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContent1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContent1(stack["rawline"]) + return p.cur.onAttributeStructuredValue184() } -func (c *current) onListElementContinuation1(offset, element interface{}) (interface{}, error) { - return types.NewListElementContinuation(len(offset.([]interface{})), element) +func (c *current) onAttributeStructuredValue177() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonListElementContinuation1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation1(stack["offset"], stack["element"]) + return p.cur.onAttributeStructuredValue177() } -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 (c *current) onAttributeStructuredValue191() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonListElementContinuationElement1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1(stack["attributes"], stack["element"]) + return p.cur.onAttributeStructuredValue191() } -func (c *current) onListContinuationParagraph4() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeStructuredValue193() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonListContinuationParagraph4() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationParagraph4() + return p.cur.onAttributeStructuredValue193() } -func (c *current) onListContinuationParagraph1(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewParagraph(types.RawLine(content.(string))) +func (c *current) onAttributeStructuredValue195() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonListContinuationParagraph1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationParagraph1(stack["content"]) + return p.cur.onAttributeStructuredValue195() } -func (c *current) onOrderedListElement1(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onAttributeStructuredValue197() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonOrderedListElement1() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElement1(stack["prefix"], stack["content"]) + return p.cur.onAttributeStructuredValue197() } -func (c *current) onOrderedListElementPrefix10() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onAttributeStructuredValue199() (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) callonOrderedListElementPrefix10() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix10() + return p.cur.onAttributeStructuredValue199() } -func (c *current) onOrderedListElementPrefix13(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onAttributeStructuredValue205() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonOrderedListElementPrefix13() (bool, error) { +func (p *parser) callonAttributeStructuredValue205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix13(stack["depth"]) + return p.cur.onAttributeStructuredValue205() } -func (c *current) onOrderedListElementPrefix7(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) onAttributeStructuredValue215() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonOrderedListElementPrefix7() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix7(stack["depth"]) + return p.cur.onAttributeStructuredValue215() } -func (c *current) onOrderedListElementPrefix14() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) - +func (c *current) onAttributeStructuredValue211(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonOrderedListElementPrefix14() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix14() + return p.cur.onAttributeStructuredValue211(stack["ref"]) } -func (c *current) onOrderedListElementPrefix19() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onAttributeStructuredValue219() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonOrderedListElementPrefix19() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix19() + return p.cur.onAttributeStructuredValue219() } -func (c *current) onOrderedListElementPrefix23() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onAttributeStructuredValue1(elements interface{}) (interface{}, error) { + + return types.NewInlineElements(elements) } -func (p *parser) callonOrderedListElementPrefix23() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix23() + return p.cur.onAttributeStructuredValue1(stack["elements"]) } -func (c *current) onOrderedListElementPrefix27() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onHeaderGroup1(elements interface{}) (interface{}, error) { + + return types.NewInlineElements(elements) } -func (p *parser) callonOrderedListElementPrefix27() (interface{}, error) { +func (p *parser) callonHeaderGroup1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix27() + return p.cur.onHeaderGroup1(stack["elements"]) } -func (c *current) onOrderedListElementPrefix32() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onHeaderGroupElement8() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonOrderedListElementPrefix32() (interface{}, error) { +func (p *parser) callonHeaderGroupElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix32() + return p.cur.onHeaderGroupElement8() } -func (c *current) onOrderedListElementPrefix1(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onHeaderGroupElement17() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonOrderedListElementPrefix1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOrderedListElementPrefix1(stack["prefix"]) + return p.cur.onHeaderGroupElement17() } -func (c *current) onUnorderedListElement1(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onHeaderGroupElement29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnorderedListElement1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElement1(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onHeaderGroupElement29() } -func (c *current) onUnorderedListElementPrefix10() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onHeaderGroupElement40() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax + return types.NewStringElement(string(c.text)) } -func (p *parser) callonUnorderedListElementPrefix10() (interface{}, error) { +func (p *parser) callonHeaderGroupElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementPrefix10() + return p.cur.onHeaderGroupElement40() } -func (c *current) onUnorderedListElementPrefix13(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil - +func (c *current) onHeaderGroupElement47() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnorderedListElementPrefix13() (bool, error) { +func (p *parser) callonHeaderGroupElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementPrefix13(stack["depth"]) + return p.cur.onHeaderGroupElement47() } -func (c *current) onUnorderedListElementPrefix7(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) onHeaderGroupElement43(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonUnorderedListElementPrefix7() (interface{}, error) { +func (p *parser) callonHeaderGroupElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementPrefix7(stack["depth"]) + return p.cur.onHeaderGroupElement43(stack["ref"]) } -func (c *current) onUnorderedListElementPrefix15() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onHeaderGroupElement53() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonUnorderedListElementPrefix15() (interface{}, error) { +func (p *parser) callonHeaderGroupElement53() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementPrefix15() + return p.cur.onHeaderGroupElement53() } -func (c *current) onUnorderedListElementPrefix1(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onHeaderGroupElement60() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonUnorderedListElementPrefix1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementPrefix1(stack["prefix"]) + return p.cur.onHeaderGroupElement60() } -func (c *current) onUnorderedListElementCheckStyle7() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onHeaderGroupElement72() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonUnorderedListElementCheckStyle7() (interface{}, error) { +func (p *parser) callonHeaderGroupElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementCheckStyle7() + return p.cur.onHeaderGroupElement72() } -func (c *current) onUnorderedListElementCheckStyle9() (interface{}, error) { - return types.Checked, nil +func (c *current) onHeaderGroupElement74() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonUnorderedListElementCheckStyle9() (interface{}, error) { +func (p *parser) callonHeaderGroupElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementCheckStyle9() + return p.cur.onHeaderGroupElement74() } -func (c *current) onUnorderedListElementCheckStyle11() (interface{}, error) { - return types.Checked, nil +func (c *current) onHeaderGroupElement67(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonUnorderedListElementCheckStyle11() (interface{}, error) { +func (p *parser) callonHeaderGroupElement67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementCheckStyle11() + return p.cur.onHeaderGroupElement67(stack["start"]) } -func (c *current) onUnorderedListElementCheckStyle1(style interface{}) (interface{}, error) { - return style, nil - +func (c *current) onHeaderGroupElement56(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonUnorderedListElementCheckStyle1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnorderedListElementCheckStyle1(stack["style"]) + return p.cur.onHeaderGroupElement56(stack["name"], stack["start"]) } -func (c *current) onLabeledListElement1(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onHeaderGroupElement82() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLabeledListElement1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLabeledListElement1(stack["term"], stack["separator"], stack["description"]) + return p.cur.onHeaderGroupElement82() } -func (c *current) onLabeledListElementTerm1() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onHeaderGroupElement94() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLabeledListElementTerm1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLabeledListElementTerm1() + return p.cur.onHeaderGroupElement94() } -func (c *current) onLabeledListElementSeparator4() (interface{}, error) { +func (c *current) onHeaderGroupElement96() (interface{}, error) { - return string(c.text), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLabeledListElementSeparator4() (interface{}, error) { +func (p *parser) callonHeaderGroupElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLabeledListElementSeparator4() + return p.cur.onHeaderGroupElement96() } -func (c *current) onLabeledListElementSeparator7(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) onHeaderGroupElement89(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonLabeledListElementSeparator7() (bool, error) { +func (p *parser) callonHeaderGroupElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLabeledListElementSeparator7(stack["separator"]) + return p.cur.onHeaderGroupElement89(stack["start"]) } -func (c *current) onLabeledListElementSeparator1(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onHeaderGroupElement78(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLabeledListElementSeparator1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLabeledListElementSeparator1(stack["separator"]) + return p.cur.onHeaderGroupElement78(stack["name"], stack["start"]) } -func (c *current) onLabeledListElementDescription2(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) +func (c *current) onHeaderGroupElement104() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLabeledListElementDescription2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLabeledListElementDescription2(stack["content"]) + return p.cur.onHeaderGroupElement104() } -func (c *current) onLabeledListElementDescription16() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onHeaderGroupElement100(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) callonLabeledListElementDescription16() (interface{}, error) { +func (p *parser) callonHeaderGroupElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLabeledListElementDescription16() + return p.cur.onHeaderGroupElement100(stack["name"]) } -func (c *current) onLabeledListElementDescription12(content interface{}) (interface{}, error) { - return types.NewParagraph(content) +func (c *current) onHeaderGroupElement114() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLabeledListElementDescription12() (interface{}, error) { +func (p *parser) callonHeaderGroupElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLabeledListElementDescription12(stack["content"]) + return p.cur.onHeaderGroupElement114() } -func (c *current) onCallout3() (bool, error) { - return c.isSubstitutionEnabled(Callouts), nil +func (c *current) onHeaderGroupElement110(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonCallout3() (bool, error) { +func (p *parser) callonHeaderGroupElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout3() + return p.cur.onHeaderGroupElement110(stack["name"]) } -func (c *current) onCallout6() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onHeaderGroupElement51(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonCallout6() (interface{}, error) { +func (p *parser) callonHeaderGroupElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout6() + return p.cur.onHeaderGroupElement51(stack["element"]) } -func (c *current) onCallout1(ref interface{}) (interface{}, error) { - return types.NewCallout(ref.(int)) +func (c *current) onHeaderGroupElement120() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonCallout1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout1(stack["ref"]) + return p.cur.onHeaderGroupElement120() } -func (c *current) onCalloutListElement1(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) +func (c *current) onHeaderGroupElement36(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonCalloutListElement1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCalloutListElement1(stack["ref"], stack["description"]) + return p.cur.onHeaderGroupElement36(stack["elements"]) } -func (c *current) onCalloutListElementPrefix5() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onHeaderGroupElement32(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) + } -func (p *parser) callonCalloutListElementPrefix5() (interface{}, error) { +func (p *parser) callonHeaderGroupElement32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCalloutListElementPrefix5() + return p.cur.onHeaderGroupElement32(stack["id"]) } -func (c *current) onCalloutListElementPrefix1(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onHeaderGroupElement124() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCalloutListElementPrefix1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCalloutListElementPrefix1(stack["ref"]) + return p.cur.onHeaderGroupElement124() } -func (c *current) onCalloutListElementContent4() (interface{}, error) { - return string(c.text), nil - +func (c *current) onHeaderGroupElement26(id interface{}) (interface{}, error) { + return id, nil } -func (p *parser) callonCalloutListElementContent4() (interface{}, error) { +func (p *parser) callonHeaderGroupElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCalloutListElementContent4() + return p.cur.onHeaderGroupElement26(stack["id"]) } -func (c *current) onCalloutListElementContent1(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) +func (c *current) onHeaderGroupElement129() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCalloutListElementContent1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCalloutListElementContent1(stack["rawline"]) + return p.cur.onHeaderGroupElement129() } -func (c *current) onShortcutParagraph16(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) onHeaderGroupElement136() (bool, error) { + return c.isSubstitutionEnabled(Replacements), nil } -func (p *parser) callonShortcutParagraph16() (bool, error) { +func (p *parser) callonHeaderGroupElement136() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph16(stack["firstLine"]) + return p.cur.onHeaderGroupElement136() } -func (c *current) onShortcutParagraph19(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onHeaderGroupElement143() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonShortcutParagraph19() (interface{}, error) { +func (p *parser) callonHeaderGroupElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph19(stack["line"]) + return p.cur.onHeaderGroupElement143() } -func (c *current) onShortcutParagraph1(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) +func (c *current) onHeaderGroupElement145() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonShortcutParagraph1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph1(stack["firstLine"], stack["otherLines"]) + return p.cur.onHeaderGroupElement145() } -func (c *current) onParagraph7(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onHeaderGroupElement147() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonParagraph7() (interface{}, error) { +func (p *parser) callonHeaderGroupElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph7(stack["line"]) + return p.cur.onHeaderGroupElement147() } -func (c *current) onParagraph1(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) +func (c *current) onHeaderGroupElement149() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonParagraph1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph1(stack["firstLine"], stack["otherLines"]) + return p.cur.onHeaderGroupElement149() } -func (c *current) onAdmonitionParagraph10(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onHeaderGroupElement151() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonAdmonitionParagraph10() (interface{}, error) { +func (p *parser) callonHeaderGroupElement151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAdmonitionParagraph10(stack["line"]) + return p.cur.onHeaderGroupElement151() } -func (c *current) onAdmonitionParagraph1(kind, firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onHeaderGroupElement153() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonAdmonitionParagraph1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAdmonitionParagraph1(stack["kind"], stack["firstLine"], stack["otherLines"]) + return p.cur.onHeaderGroupElement153() } -func (c *current) onParagraphRawLine4() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onHeaderGroupElement155() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonParagraphRawLine4() (interface{}, error) { +func (p *parser) callonHeaderGroupElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraphRawLine4() + return p.cur.onHeaderGroupElement155() } -func (c *current) onParagraphRawLine7(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onHeaderGroupElement157() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonParagraphRawLine7() (bool, error) { +func (p *parser) callonHeaderGroupElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraphRawLine7(stack["content"]) + return p.cur.onHeaderGroupElement157() } -func (c *current) onParagraphRawLine1(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onHeaderGroupElement159() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonParagraphRawLine1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraphRawLine1(stack["content"]) + return p.cur.onHeaderGroupElement159() } -func (c *current) onLiteralParagraph1(firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onHeaderGroupElement163() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonLiteralParagraph1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement163() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralParagraph1(stack["firstLine"], stack["otherLines"]) + return p.cur.onHeaderGroupElement163() } -func (c *current) onLiteralParagraphRawLine4() (interface{}, error) { +func (c *current) onHeaderGroupElement166() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLiteralParagraphRawLine4() (interface{}, error) { +func (p *parser) callonHeaderGroupElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralParagraphRawLine4() + return p.cur.onHeaderGroupElement166() } -func (c *current) onLiteralParagraphRawLine9(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil - +func (c *current) onHeaderGroupElement170() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLiteralParagraphRawLine9() (bool, error) { +func (p *parser) callonHeaderGroupElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralParagraphRawLine9(stack["content"]) + return p.cur.onHeaderGroupElement170() } -func (c *current) onLiteralParagraphRawLine1(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onHeaderGroupElement161() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonLiteralParagraphRawLine1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLiteralParagraphRawLine1(stack["content"]) + return p.cur.onHeaderGroupElement161() } -func (c *current) onQuotedText6() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onHeaderGroupElement179() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonQuotedText6() (interface{}, error) { +func (p *parser) callonHeaderGroupElement179() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText6() + return p.cur.onHeaderGroupElement179() } -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) onHeaderGroupElement184() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonQuotedText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText2(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement184() } -func (c *current) onQuotedText10(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement177() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonQuotedText10() (interface{}, error) { +func (p *parser) callonHeaderGroupElement177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText10(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement177() } -func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onHeaderGroupElement191() (interface{}, error) { + return types.NewSymbol("<-") + } -func (p *parser) callonEscapedQuotedText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedQuotedText1(stack["element"]) + return p.cur.onHeaderGroupElement191() } -func (c *current) onSubscriptOrSuperscriptPrefix3() (interface{}, error) { - // rule used within `words` to detect superscript or subscript portions, eg in math formulae. - return string(c.text), nil +func (c *current) onHeaderGroupElement193() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonSubscriptOrSuperscriptPrefix3() (interface{}, error) { +func (p *parser) callonHeaderGroupElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptOrSuperscriptPrefix3() + return p.cur.onHeaderGroupElement193() } -func (c *current) onOneOrMoreBackslashes1() (interface{}, error) { - return string(c.text), nil +func (c *current) onHeaderGroupElement195() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonOneOrMoreBackslashes1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onOneOrMoreBackslashes1() + return p.cur.onHeaderGroupElement195() } -func (c *current) onTwoOrMoreBackslashes1() (interface{}, error) { - return string(c.text), nil +func (c *current) onHeaderGroupElement139() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonTwoOrMoreBackslashes1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTwoOrMoreBackslashes1() + return p.cur.onHeaderGroupElement139() } -func (c *current) onBoldTextWord1() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onHeaderGroupElement197() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonBoldTextWord1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBoldTextWord1() + return p.cur.onHeaderGroupElement197() } -func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) +func (c *current) onHeaderGroupElement199() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldText1(stack["elements"]) + return p.cur.onHeaderGroupElement199() } -func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement201() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) + return p.cur.onHeaderGroupElement201() } -func (c *current) onQuotedTextInDoubleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement203() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonQuotedTextInDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteBoldText1(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement203() } -func (c *current) onDoubleQuoteBoldTextFallbackCharacter3() (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) onHeaderGroupElement205() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteBoldTextFallbackCharacter3() (interface{}, error) { +func (p *parser) callonHeaderGroupElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextFallbackCharacter3() + return p.cur.onHeaderGroupElement205() } -func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) +func (c *current) onHeaderGroupElement207() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldText1(stack["elements"]) + return p.cur.onHeaderGroupElement207() } -func (c *current) onSingleQuoteBoldTextElements10(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onHeaderGroupElement209() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteBoldTextElements10() (bool, error) { +func (p *parser) callonHeaderGroupElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements10(stack["elements"]) + return p.cur.onHeaderGroupElement209() } -func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onHeaderGroupElement211() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) + return p.cur.onHeaderGroupElement211() } -func (c *current) onQuotedTextInSingleQuoteBoldText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement215() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonQuotedTextInSingleQuoteBoldText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement215() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteBoldText2(stack["element"]) + return p.cur.onHeaderGroupElement215() } -func (c *current) onQuotedTextInSingleQuoteBoldText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement218() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteBoldText13() (interface{}, error) { +func (p *parser) callonHeaderGroupElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteBoldText13(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement218() } -func (c *current) onSingleQuoteBoldTextFallbackCharacter3() (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) onHeaderGroupElement222() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextFallbackCharacter3() (interface{}, error) { +func (p *parser) callonHeaderGroupElement222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextFallbackCharacter3() + return p.cur.onHeaderGroupElement222() } -func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { - - return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) +func (c *current) onHeaderGroupElement213() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonEscapedBoldText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement213() } -func (c *current) onEscapedBoldText10(backslashes, elements interface{}) (interface{}, error) { - - result := append([]interface{}{"*"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "*", result) +func (c *current) onHeaderGroupElement231() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonEscapedBoldText10() (interface{}, error) { +func (p *parser) callonHeaderGroupElement231() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText10(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement231() } -func (c *current) onEscapedBoldText18(backslashes, elements interface{}) (interface{}, error) { - - return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) - +func (c *current) onHeaderGroupElement236() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonEscapedBoldText18() (interface{}, error) { +func (p *parser) callonHeaderGroupElement236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText18(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement236() } -func (c *current) onItalicTextWord1() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onHeaderGroupElement229() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonItalicTextWord1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onItalicTextWord1() + return p.cur.onHeaderGroupElement229() } -func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first - return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) +func (c *current) onHeaderGroupElement243() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicText1(stack["elements"]) + return p.cur.onHeaderGroupElement243() } -func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement245() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement245() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) + return p.cur.onHeaderGroupElement245() } -func (c *current) onQuotedTextInDoubleQuoteItalicText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement247() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonQuotedTextInDoubleQuoteItalicText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteItalicText2(stack["element"]) + return p.cur.onHeaderGroupElement247() } -func (c *current) onQuotedTextInDoubleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement249() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonQuotedTextInDoubleQuoteItalicText13() (interface{}, error) { +func (p *parser) callonHeaderGroupElement249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteItalicText13(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement249() } -func (c *current) onDoubleQuoteItalicTextFallbackCharacter3() (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 (c *current) onHeaderGroupElement251() (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) callonDoubleQuoteItalicTextFallbackCharacter3() (interface{}, error) { +func (p *parser) callonHeaderGroupElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextFallbackCharacter3() + return p.cur.onHeaderGroupElement251() } -func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) +func (c *current) onHeaderGroupElement257() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicText1(stack["elements"]) + return p.cur.onHeaderGroupElement257() } -func (c *current) onSingleQuoteItalicTextElements10(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onHeaderGroupElement134(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteItalicTextElements10() (bool, error) { +func (p *parser) callonHeaderGroupElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements10(stack["elements"]) + return p.cur.onHeaderGroupElement134(stack["element"]) } -func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onHeaderGroupElement265() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement265() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) + return p.cur.onHeaderGroupElement265() } -func (c *current) onQuotedTextInSingleQuoteItalicText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement274() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteItalicText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteItalicText2(stack["element"]) + return p.cur.onHeaderGroupElement274() } -func (c *current) onQuotedTextInSingleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement278() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteItalicText13() (interface{}, error) { +func (p *parser) callonHeaderGroupElement278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteItalicText13(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement278() } -func (c *current) onSingleQuoteItalicTextFallbackCharacter3() (interface{}, error) { - // or an italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onHeaderGroupElement284() (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) callonSingleQuoteItalicTextFallbackCharacter3() (interface{}, error) { +func (p *parser) callonHeaderGroupElement284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextFallbackCharacter3() + return p.cur.onHeaderGroupElement284() } -func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) +func (c *current) onHeaderGroupElement293() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedItalicText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement293() } -func (c *current) onEscapedItalicText10(backslashes, elements interface{}) (interface{}, error) { - // unbalanced `__` vs `_` punctuation - result := append([]interface{}{"_"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "_", result) +func (c *current) onHeaderGroupElement289(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) callonEscapedItalicText10() (interface{}, error) { +func (p *parser) callonHeaderGroupElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText10(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement289(stack["name"]) } -func (c *current) onEscapedItalicText18(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "_", elements.([]interface{})) +func (c *current) onHeaderGroupElement303() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedItalicText18() (interface{}, error) { +func (p *parser) callonHeaderGroupElement303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText18(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement303() } -func (c *current) onMonospaceTextWord1() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onHeaderGroupElement299(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonMonospaceTextWord1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement299() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMonospaceTextWord1() + return p.cur.onHeaderGroupElement299(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement309() (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) + return p.cur.onHeaderGroupElement309() } -func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement270(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement270() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) + return p.cur.onHeaderGroupElement270(stack["id"], stack["label"]) } -func (c *current) onQuotedTextInDoubleQuoteMonospaceText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement316() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteMonospaceText2(stack["element"]) + return p.cur.onHeaderGroupElement316() } -func (c *current) onQuotedTextInDoubleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement312(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText13() (interface{}, error) { +func (p *parser) callonHeaderGroupElement312() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteMonospaceText13(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement312(stack["id"]) } -func (c *current) onDoubleQuoteMonospaceTextFallbackCharacter3() (interface{}, error) { - // ` or a monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onHeaderGroupElement268() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextFallbackCharacter3() (interface{}, error) { +func (p *parser) callonHeaderGroupElement268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextFallbackCharacter3() + return p.cur.onHeaderGroupElement268() } -func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) +func (c *current) onHeaderGroupElement320() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) + return p.cur.onHeaderGroupElement320() } -func (c *current) onSingleQuoteMonospaceTextElements10(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onHeaderGroupElement263(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteMonospaceTextElements10() (bool, error) { +func (p *parser) callonHeaderGroupElement263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements10(stack["elements"]) + return p.cur.onHeaderGroupElement263(stack["element"]) } -func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onHeaderGroupElement325() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement325() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) + return p.cur.onHeaderGroupElement325() } -func (c *current) onQuotedTextInSingleQuoteMonospaceText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement332() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteMonospaceText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement332() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMonospaceText2(stack["element"]) + return p.cur.onHeaderGroupElement332() } -func (c *current) onQuotedTextInSingleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement344() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteMonospaceText13() (interface{}, error) { +func (p *parser) callonHeaderGroupElement344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMonospaceText13(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement344() } -func (c *current) onSingleQuoteMonospaceTextFallbackCharacter1() (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) onHeaderGroupElement346() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextFallbackCharacter1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextFallbackCharacter1() + return p.cur.onHeaderGroupElement346() } -func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) +func (c *current) onHeaderGroupElement339(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement339() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement339(stack["start"]) } -func (c *current) onEscapedMonospaceText10(backslashes, elements interface{}) (interface{}, error) { - result := append([]interface{}{"`"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "`", result) - +func (c *current) onHeaderGroupElement328(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonEscapedMonospaceText10() (interface{}, error) { +func (p *parser) callonHeaderGroupElement328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText10(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement328(stack["name"], stack["start"]) } -func (c *current) onEscapedMonospaceText18(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) +func (c *current) onHeaderGroupElement354() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedMonospaceText18() (interface{}, error) { +func (p *parser) callonHeaderGroupElement354() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText18(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement354() } -func (c *current) onMarkedTextWord1() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onHeaderGroupElement366() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonMarkedTextWord1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkedTextWord1() + return p.cur.onHeaderGroupElement366() } -func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement368() (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement368() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) + return p.cur.onHeaderGroupElement368() } -func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement361(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) + return p.cur.onHeaderGroupElement361(stack["start"]) } -func (c *current) onQuotedTextInDoubleMarkedBoldText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement350(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} +func (p *parser) callonHeaderGroupElement350() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement350(stack["name"], stack["start"]) } -func (p *parser) callonQuotedTextInDoubleMarkedBoldText2() (interface{}, error) { +func (c *current) onHeaderGroupElement376() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonHeaderGroupElement376() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleMarkedBoldText2(stack["element"]) + return p.cur.onHeaderGroupElement376() } -func (c *current) onQuotedTextInDoubleMarkedBoldText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement372(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) callonQuotedTextInDoubleMarkedBoldText13() (interface{}, error) { +func (p *parser) callonHeaderGroupElement372() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleMarkedBoldText13(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement372(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextFallbackCharacter3() (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) onHeaderGroupElement386() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextFallbackCharacter3() (interface{}, error) { +func (p *parser) callonHeaderGroupElement386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextFallbackCharacter3() + return p.cur.onHeaderGroupElement386() } -func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement382(name interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedText1(stack["elements"]) + return p.cur.onHeaderGroupElement382(stack["name"]) } -func (c *current) onSingleQuoteMarkedTextElements10(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onHeaderGroupElement323(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElements10() (bool, error) { +func (p *parser) callonHeaderGroupElement323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements10(stack["elements"]) + return p.cur.onHeaderGroupElement323(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onHeaderGroupElement396() (interface{}, error) { + return string(c.text), nil +} +func (p *parser) callonHeaderGroupElement396() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement396() } -func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { +func (c *current) onHeaderGroupElement392(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonHeaderGroupElement392() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) + return p.cur.onHeaderGroupElement392(stack["ref"]) } -func (c *current) onQuotedTextInSingleQuoteMarkedText2(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement404() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteMarkedText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMarkedText2(stack["element"]) + return p.cur.onHeaderGroupElement404() } -func (c *current) onQuotedTextInSingleQuoteMarkedText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onHeaderGroupElement400(id interface{}) (interface{}, error) { + //return types.NewStringElement("[[" + id.(string) + "]]") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonQuotedTextInSingleQuoteMarkedText13() (interface{}, error) { +func (p *parser) callonHeaderGroupElement400() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMarkedText13(stack["attributes"], stack["text"]) + return p.cur.onHeaderGroupElement400(stack["id"]) } -func (c *current) onSingleQuoteMarkedTextFallbackCharacter3() (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) onHeaderGroupElement412() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextFallbackCharacter3() (interface{}, error) { +func (p *parser) callonHeaderGroupElement412() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextFallbackCharacter3() + return p.cur.onHeaderGroupElement412() } -func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) +func (c *current) onHeaderGroupElement408(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) callonEscapedMarkedText2() (interface{}, error) { +func (p *parser) callonHeaderGroupElement408() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement408(stack["id"]) } -func (c *current) onEscapedMarkedText10(backslashes, elements interface{}) (interface{}, error) { - result := append([]interface{}{"#"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "#", result) +func (c *current) onHeaderGroupElement417() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonEscapedMarkedText10() (interface{}, error) { +func (p *parser) callonHeaderGroupElement417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText10(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement417() } -func (c *current) onEscapedMarkedText18(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) +func (c *current) onHeaderGroupElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonEscapedMarkedText18() (interface{}, error) { +func (p *parser) callonHeaderGroupElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText18(stack["backslashes"], stack["elements"]) + return p.cur.onHeaderGroupElement1(stack["element"]) } -func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSubscript, element) +func (c *current) onInlineMacro3() (bool, error) { + return c.isSubstitutionEnabled(Macros), nil } -func (p *parser) callonSubscriptText1() (interface{}, error) { +func (p *parser) callonInlineMacro3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptText1(stack["element"]) + return p.cur.onInlineMacro3() } -func (c *current) onNonSubscriptText1() (interface{}, error) { - // anything except spaces, EOL or '~' - return c.text, nil +func (c *current) onInlineMacro17() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonNonSubscriptText1() (interface{}, error) { +func (p *parser) callonInlineMacro17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNonSubscriptText1() + return p.cur.onInlineMacro17() } -func (c *current) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "~", element) +func (c *current) onInlineMacro13(id interface{}) (interface{}, error) { + //return types.NewStringElement("[[" + id.(string) + "]]") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { +func (p *parser) callonInlineMacro13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onInlineMacro13(stack["id"]) } -func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSuperscript, element) +func (c *current) onInlineMacro25() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSuperscriptText1() (interface{}, error) { +func (p *parser) callonInlineMacro25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSuperscriptText1(stack["element"]) + return p.cur.onInlineMacro25() } -func (c *current) onNonSuperscriptText1() (interface{}, error) { - // anything except spaces, EOL or '^' - return c.text, nil +func (c *current) onInlineMacro21(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) callonNonSuperscriptText1() (interface{}, error) { +func (p *parser) callonInlineMacro21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNonSuperscriptText1() + return p.cur.onInlineMacro21(stack["id"]) } -func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "^", element) +func (c *current) onInlineMacro37() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { +func (p *parser) callonInlineMacro37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onInlineMacro37() } -func (c *current) onSection3() (bool, error) { - - return !c.isWithinDelimitedBlock(), nil - +func (c *current) onInlineMacro33() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSection3() (bool, error) { +func (p *parser) callonInlineMacro33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection3() + return p.cur.onInlineMacro33() } -func (c *current) onSection5() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil +func (c *current) onInlineMacro44() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSection5() (interface{}, error) { +func (p *parser) callonInlineMacro44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection5() + return p.cur.onInlineMacro44() } -func (c *current) onSection8(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) onInlineMacro48() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSection8() (bool, error) { +func (p *parser) callonInlineMacro48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection8(stack["level"]) + return p.cur.onInlineMacro48() } -func (c *current) onSection1(level, title interface{}) (interface{}, error) { - return types.NewSection(level.(int), title.([]interface{})) +func (c *current) onInlineMacro55() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSection1() (interface{}, error) { +func (p *parser) callonInlineMacro55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection1(stack["level"], stack["title"]) + return p.cur.onInlineMacro55() } -func (c *current) onSectionTitle1() (interface{}, error) { - // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil - +func (c *current) onInlineMacro51() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitle1() (interface{}, error) { +func (p *parser) callonInlineMacro51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitle1() + return p.cur.onInlineMacro51() } -func (c *current) onSubstitutions5(element interface{}) (interface{}, error) { - c.trackSuffix(element) - return element, nil - +func (c *current) onInlineMacro41(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonSubstitutions5() (interface{}, error) { +func (p *parser) callonInlineMacro41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions5(stack["element"]) + return p.cur.onInlineMacro41(stack["content"]) } -func (c *current) onSubstitutions1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements) +func (c *current) onInlineMacro62() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSubstitutions1() (interface{}, error) { +func (p *parser) callonInlineMacro62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions1(stack["elements"]) + return p.cur.onInlineMacro62() } -func (c *current) onAttributeStructuredValue1(elements interface{}) (interface{}, error) { - - return types.NewInlineElements(elements) +func (c *current) onInlineMacro66() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValue1() (interface{}, error) { +func (p *parser) callonInlineMacro66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValue1(stack["elements"]) + return p.cur.onInlineMacro66() } -func (c *current) onHeaderGroup1(elements interface{}) (interface{}, error) { - - return types.NewInlineElements(elements) +func (c *current) onInlineMacro73() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroup1() (interface{}, error) { +func (p *parser) callonInlineMacro73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroup1(stack["elements"]) + return p.cur.onInlineMacro73() } -func (c *current) onHeaderGroupElement8(id interface{}) (interface{}, error) { - return id, nil +func (c *current) onInlineMacro69() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement8() (interface{}, error) { +func (p *parser) callonInlineMacro69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement8(stack["id"]) + return p.cur.onInlineMacro69() } -func (c *current) onHeaderGroupElement1(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onInlineMacro59(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonHeaderGroupElement1() (interface{}, error) { +func (p *parser) callonInlineMacro59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement1(stack["element"]) + return p.cur.onInlineMacro59(stack["content"]) } -func (c *current) onInlineMacro3() (bool, error) { - return c.isSubstitutionEnabled(Macros), nil +func (c *current) onInlineMacro29(term1, term2, term3 interface{}) (interface{}, error) { + return types.NewConcealedIndexTerm(term1, term2, term3) } -func (p *parser) callonInlineMacro3() (bool, error) { +func (p *parser) callonInlineMacro29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro3() + return p.cur.onInlineMacro29(stack["term1"], stack["term2"], stack["term3"]) } func (c *current) onInlineMacro1(element interface{}) (interface{}, error) { @@ -20655,846 +108892,877 @@ func (p *parser) callonInlinePassthrough3() (bool, error) { return p.cur.onInlinePassthrough3() } -func (c *current) onInlinePassthrough1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onInlinePassthrough11() (interface{}, error) { + // spaces and newlines are also allowed in the first or last position of the content and elsewhere too + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlinePassthrough1() (interface{}, error) { +func (p *parser) callonInlinePassthrough11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlinePassthrough1(stack["element"]) + return p.cur.onInlinePassthrough11() } -func (c *current) onQuote2() (bool, error) { - return c.isSubstitutionEnabled(Quotes), nil +func (c *current) onInlinePassthrough21() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuote2() (bool, error) { +func (p *parser) callonInlinePassthrough21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuote2() + return p.cur.onInlinePassthrough21() } -func (c *current) onReplacement3() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil - +func (c *current) onInlinePassthrough24() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonReplacement3() (bool, error) { +func (p *parser) callonInlinePassthrough24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacement3() + return p.cur.onInlinePassthrough24() } -func (c *current) onReplacement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onInlinePassthrough17() (interface{}, error) { + // a single character + return types.NewStringElement(string(c.text)) } -func (p *parser) callonReplacement1() (interface{}, error) { +func (p *parser) callonInlinePassthrough17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacement1(stack["element"]) + return p.cur.onInlinePassthrough17() } -func (c *current) onSpecialCharacter3() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onInlinePassthrough6(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.TriplePlusPassthrough, []interface{}{content}) } -func (p *parser) callonSpecialCharacter3() (bool, error) { +func (p *parser) callonInlinePassthrough6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharacter3() + return p.cur.onInlinePassthrough6(stack["content"]) } -func (c *current) onSpecialCharacter6() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlinePassthrough45() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSpecialCharacter6() (interface{}, error) { +func (p *parser) callonInlinePassthrough45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharacter6() + return p.cur.onInlinePassthrough45() } -func (c *current) onSpecialCharacter8() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onInlinePassthrough48() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSpecialCharacter8() (interface{}, error) { +func (p *parser) callonInlinePassthrough48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharacter8() + return p.cur.onInlinePassthrough48() } -func (c *current) onSpecialCharacter1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onInlinePassthrough58() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSpecialCharacter1() (interface{}, error) { +func (p *parser) callonInlinePassthrough58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharacter1(stack["element"]) + return p.cur.onInlinePassthrough58() } -func (c *current) onSingleLineComment1(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) - +func (c *current) onInlinePassthrough65() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleLineComment1() (interface{}, error) { +func (p *parser) callonInlinePassthrough65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleLineComment1(stack["content"]) + return p.cur.onInlinePassthrough65() } -func (c *current) onSingleLineCommentContent1() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlinePassthrough40() (interface{}, error) { + // no space in the first or last position of the content, but allowed elsewhere + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleLineCommentContent1() (interface{}, error) { +func (p *parser) callonInlinePassthrough40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleLineCommentContent1() + return p.cur.onInlinePassthrough40() } -func (c *current) onSymbol2() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onInlinePassthrough74() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSymbol2() (interface{}, error) { +func (p *parser) callonInlinePassthrough74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSymbol2() + return p.cur.onInlinePassthrough74() } -func (c *current) onQuotationMark2() (interface{}, error) { - return types.NewSymbol("\"`") - +func (c *current) onInlinePassthrough77() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonQuotationMark2() (interface{}, error) { +func (p *parser) callonInlinePassthrough77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotationMark2() + return p.cur.onInlinePassthrough77() } -func (c *current) onQuotationMark4() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onInlinePassthrough71() (interface{}, error) { + // a single character + return types.NewStringElement(string(c.text)) } -func (p *parser) callonQuotationMark4() (interface{}, error) { +func (p *parser) callonInlinePassthrough71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotationMark4() + return p.cur.onInlinePassthrough71() } -func (c *current) onQuotationMark6() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onInlinePassthrough35(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.SinglePlusPassthrough, []interface{}{content}) } -func (p *parser) callonQuotationMark6() (interface{}, error) { +func (p *parser) callonInlinePassthrough35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotationMark6() + return p.cur.onInlinePassthrough35(stack["content"]) } -func (c *current) onQuotationMark8() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onInlinePassthrough1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonQuotationMark8() (interface{}, error) { +func (p *parser) callonInlinePassthrough1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotationMark8() + return p.cur.onInlinePassthrough1(stack["element"]) } -func (c *current) onCopyright1() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onQuote2() (bool, error) { + return c.isSubstitutionEnabled(Quotes), nil } -func (p *parser) callonCopyright1() (interface{}, error) { +func (p *parser) callonQuote2() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCopyright1() + return p.cur.onQuote2() } -func (c *current) onTrademark1() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onTableColumnsAttribute15() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonTrademark1() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTrademark1() + return p.cur.onTableColumnsAttribute15() } -func (c *current) onRegistered1() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onTableColumnsAttribute12(n interface{}) (interface{}, error) { + return n, nil } -func (p *parser) callonRegistered1() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRegistered1() + return p.cur.onTableColumnsAttribute12(stack["n"]) } -func (c *current) onEllipsis1() (interface{}, error) { - return types.NewSymbol("...") - +func (c *current) onTableColumnsAttribute25() (interface{}, error) { + return types.HAlignLeft, nil } -func (p *parser) callonEllipsis1() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEllipsis1() + return p.cur.onTableColumnsAttribute25() } -func (c *current) onMdash4() (bool, error) { - return c.isPreceededBySpace(), nil - +func (c *current) onTableColumnsAttribute27() (interface{}, error) { + return types.HAlignRight, nil } -func (p *parser) callonMdash4() (bool, error) { +func (p *parser) callonTableColumnsAttribute27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMdash4() + return p.cur.onTableColumnsAttribute27() } -func (c *current) onMdash2() (interface{}, error) { - return types.NewSymbol(" -- ") - +func (c *current) onTableColumnsAttribute29() (interface{}, error) { + return types.HAlignCenter, nil } -func (p *parser) callonMdash2() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMdash2() + return p.cur.onTableColumnsAttribute29() } -func (c *current) onMdash12() (bool, error) { - return c.isPreceededByAlphanum(), nil - +func (c *current) onTableColumnsAttribute34() (interface{}, error) { + return types.VAlignTop, nil } -func (p *parser) callonMdash12() (bool, error) { +func (p *parser) callonTableColumnsAttribute34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMdash12() + return p.cur.onTableColumnsAttribute34() } -func (c *current) onMdash10() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onTableColumnsAttribute36() (interface{}, error) { + return types.VAlignBottom, nil +} + +func (p *parser) callonTableColumnsAttribute36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTableColumnsAttribute36() +} +func (c *current) onTableColumnsAttribute38() (interface{}, error) { + return types.VAlignMiddle, nil } -func (p *parser) callonMdash10() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMdash10() + return p.cur.onTableColumnsAttribute38() } -func (c *current) onSingleRightArrow1() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onTableColumnsAttribute43() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleRightArrow1() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleRightArrow1() + return p.cur.onTableColumnsAttribute43() } -func (c *current) onSingleLeftArrow1() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onTableColumnsAttribute49() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonTableColumnsAttribute49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTableColumnsAttribute49() +} +func (c *current) onTableColumnsAttribute53() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleLeftArrow1() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleLeftArrow1() + return p.cur.onTableColumnsAttribute53() } -func (c *current) onDoubleRightArrow1() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onTableColumnsAttribute58(multiplier, halign, valign, weight, style, comma interface{}) (bool, error) { + // make sure that at least something was set + // (otherwise the parser will run indefinitely) + return multiplier != nil || + halign != nil || + valign != nil || + weight != nil || + style != nil || + comma != nil, nil } -func (p *parser) callonDoubleRightArrow1() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute58() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleRightArrow1() + return p.cur.onTableColumnsAttribute58(stack["multiplier"], stack["halign"], stack["valign"], stack["weight"], stack["style"], stack["comma"]) } -func (c *current) onDoubleLeftArrow1() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onTableColumnsAttribute5(multiplier, halign, valign, weight, style, comma interface{}) (interface{}, error) { + return types.NewTableColumn(multiplier, halign, valign, weight, style) } -func (p *parser) callonDoubleLeftArrow1() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleLeftArrow1() + return p.cur.onTableColumnsAttribute5(stack["multiplier"], stack["halign"], stack["valign"], stack["weight"], stack["style"], stack["comma"]) } -func (c *current) onTypographicQuote2() (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) onTableColumnsAttribute1(cols interface{}) (interface{}, error) { + return cols, nil } -func (p *parser) callonTypographicQuote2() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTypographicQuote2() + return p.cur.onTableColumnsAttribute1(stack["cols"]) } -func (c *current) onTypographicQuote8() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onUserMacroBlock4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTypographicQuote8() (interface{}, error) { +func (p *parser) callonUserMacroBlock4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTypographicQuote8() + return p.cur.onUserMacroBlock4() } -func (c *current) onTable1(header, rows interface{}) (interface{}, error) { - return types.NewTable(header, rows.([]interface{})) +func (c *current) onUserMacroBlock7(name interface{}) (bool, error) { + // skip if no macro was registered under the given name + return c.globalStore.hasUserMacro(name.(string)), nil } -func (p *parser) callonTable1() (interface{}, error) { +func (p *parser) callonUserMacroBlock7() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTable1(stack["header"], stack["rows"]) + return p.cur.onUserMacroBlock7(stack["name"]) } -func (c *current) onTableHeader1(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onUserMacroBlock10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTableHeader1() (interface{}, error) { +func (p *parser) callonUserMacroBlock10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableHeader1(stack["cells"]) + return p.cur.onUserMacroBlock10() } -func (c *current) onHeaderCell1(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) - +func (c *current) onUserMacroBlock16() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonHeaderCell1() (interface{}, error) { +func (p *parser) callonUserMacroBlock16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderCell1(stack["content"]) + return p.cur.onUserMacroBlock16() } -func (c *current) onSingleLineTableRow1(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onUserMacroBlock1(name, value, attributes interface{}) (interface{}, error) { + return types.NewUserMacroBlock(name.(string), value.(string), attributes.(types.Attributes), string(c.text)) } -func (p *parser) callonSingleLineTableRow1() (interface{}, error) { +func (p *parser) callonUserMacroBlock1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleLineTableRow1(stack["cells"]) + return p.cur.onUserMacroBlock1(stack["name"], stack["value"], stack["attributes"]) } -func (c *current) onMultiLineTableRow7(cell interface{}) (interface{}, error) { - return cell, nil +func (c *current) onInlineUserMacro4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonMultiLineTableRow7() (interface{}, error) { +func (p *parser) callonInlineUserMacro4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMultiLineTableRow7(stack["cell"]) + return p.cur.onInlineUserMacro4() } -func (c *current) onMultiLineTableRow1(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onInlineUserMacro7(name interface{}) (bool, error) { + // skip if no macro was registered under the given name + return c.globalStore.hasUserMacro(name.(string)), nil } -func (p *parser) callonMultiLineTableRow1() (interface{}, error) { +func (p *parser) callonInlineUserMacro7() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMultiLineTableRow1(stack["cells"]) + return p.cur.onInlineUserMacro7(stack["name"]) } -func (c *current) onTableCell1(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onInlineUserMacro10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTableCell1() (interface{}, error) { +func (p *parser) callonInlineUserMacro10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableCell1(stack["content"]) + return p.cur.onInlineUserMacro10() } -func (c *current) onCellContent3() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineUserMacro1(name, value, attributes interface{}) (interface{}, error) { + return types.NewInlineUserMacro(name.(string), value.(string), attributes.(types.Attributes), string(c.text)) } -func (p *parser) callonCellContent3() (interface{}, error) { +func (p *parser) callonInlineUserMacro1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCellContent3() + return p.cur.onInlineUserMacro1(stack["name"], stack["value"], stack["attributes"]) } -func (c *current) onCellContent1(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onFileLocation12() (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) callonCellContent1() (interface{}, error) { +func (p *parser) callonFileLocation12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCellContent1(stack["content"]) + return p.cur.onFileLocation12() } -func (c *current) onTableColumnsAttribute1(cols interface{}) (interface{}, error) { - return cols, nil - +func (c *current) onFileLocation16() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTableColumnsAttribute1() (interface{}, error) { +func (p *parser) callonFileLocation16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute1(stack["cols"]) + return p.cur.onFileLocation16() } -func (c *current) onColumn7(n interface{}) (interface{}, error) { - return n, nil +func (c *current) onFileLocation23() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonColumn7() (interface{}, error) { +func (p *parser) callonFileLocation23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn7(stack["n"]) + return p.cur.onFileLocation23() } -func (c *current) onColumn15() (interface{}, error) { - return types.HAlignLeft, nil +func (c *current) onFileLocation27() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil + } -func (p *parser) callonColumn15() (interface{}, error) { +func (p *parser) callonFileLocation27() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn15() + return p.cur.onFileLocation27() } -func (c *current) onColumn17() (interface{}, error) { - return types.HAlignRight, nil +func (c *current) onFileLocation34() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonColumn17() (interface{}, error) { +func (p *parser) callonFileLocation34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn17() + return p.cur.onFileLocation34() } -func (c *current) onColumn19() (interface{}, error) { - return types.HAlignCenter, nil +func (c *current) onFileLocation46() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonColumn19() (interface{}, error) { +func (p *parser) callonFileLocation46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn19() + return p.cur.onFileLocation46() } -func (c *current) onColumn24() (interface{}, error) { - return types.VAlignTop, nil +func (c *current) onFileLocation48() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonColumn24() (interface{}, error) { +func (p *parser) callonFileLocation48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn24() + return p.cur.onFileLocation48() } -func (c *current) onColumn26() (interface{}, error) { - return types.VAlignBottom, nil +func (c *current) onFileLocation41(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonColumn26() (interface{}, error) { +func (p *parser) callonFileLocation41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn26() + return p.cur.onFileLocation41(stack["start"]) } -func (c *current) onColumn28() (interface{}, error) { - return types.VAlignMiddle, nil +func (c *current) onFileLocation30(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonColumn28() (interface{}, error) { +func (p *parser) callonFileLocation30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn28() + return p.cur.onFileLocation30(stack["name"], stack["start"]) } -func (c *current) onColumn34() (interface{}, error) { +func (c *current) onFileLocation56() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonColumn34() (interface{}, error) { +func (p *parser) callonFileLocation56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn34() + return p.cur.onFileLocation56() } -func (c *current) onColumn38() (interface{}, error) { +func (c *current) onFileLocation68() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonColumn38() (interface{}, error) { +func (p *parser) callonFileLocation68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn38() + return p.cur.onFileLocation68() } -func (c *current) onColumn43(multiplier, halign, valign, weight, style, comma interface{}) (bool, error) { - // make sure that at least something was set - // (otherwise the parser will run indefinitely) - return multiplier != nil || - halign != nil || - valign != nil || - weight != nil || - style != nil || - comma != nil, nil +func (c *current) onFileLocation70() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonColumn43() (bool, error) { +func (p *parser) callonFileLocation70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn43(stack["multiplier"], stack["halign"], stack["valign"], stack["weight"], stack["style"], stack["comma"]) + return p.cur.onFileLocation70() } -func (c *current) onColumn1(multiplier, halign, valign, weight, style, comma interface{}) (interface{}, error) { - return types.NewTableColumn(multiplier, halign, valign, weight, style) +func (c *current) onFileLocation63(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonColumn1() (interface{}, error) { +func (p *parser) callonFileLocation63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onColumn1(stack["multiplier"], stack["halign"], stack["valign"], stack["weight"], stack["style"], stack["comma"]) + return p.cur.onFileLocation63(stack["start"]) } -func (c *current) onThematicBreak1() (interface{}, error) { - - return types.NewThematicBreak() - +func (c *current) onFileLocation52(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonThematicBreak1() (interface{}, error) { +func (p *parser) callonFileLocation52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onThematicBreak1() + return p.cur.onFileLocation52(stack["name"], stack["start"]) } -func (c *current) onUserMacroBlock5(name interface{}) (bool, error) { - // skip if no macro was registered under the given name - return c.globalStore.hasUserMacro(name.(string)), nil +func (c *current) onFileLocation78() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUserMacroBlock5() (bool, error) { +func (p *parser) callonFileLocation78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUserMacroBlock5(stack["name"]) + return p.cur.onFileLocation78() } -func (c *current) onUserMacroBlock1(name, value, attributes interface{}) (interface{}, error) { - return types.NewUserMacroBlock(name.(string), value.(string), attributes.(types.Attributes), string(c.text)) +func (c *current) onFileLocation74(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) callonUserMacroBlock1() (interface{}, error) { +func (p *parser) callonFileLocation74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUserMacroBlock1(stack["name"], stack["value"], stack["attributes"]) + return p.cur.onFileLocation74(stack["name"]) } -func (c *current) onInlineUserMacro5(name interface{}) (bool, error) { - // skip if no macro was registered under the given name - return c.globalStore.hasUserMacro(name.(string)), nil +func (c *current) onFileLocation88() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineUserMacro5() (bool, error) { +func (p *parser) callonFileLocation88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineUserMacro5(stack["name"]) + return p.cur.onFileLocation88() } -func (c *current) onInlineUserMacro1(name, value, attributes interface{}) (interface{}, error) { - return types.NewInlineUserMacro(name.(string), value.(string), attributes.(types.Attributes), string(c.text)) +func (c *current) onFileLocation84(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineUserMacro1() (interface{}, error) { +func (p *parser) callonFileLocation84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineUserMacro1(stack["name"], stack["value"], stack["attributes"]) + return p.cur.onFileLocation84(stack["name"]) } -func (c *current) onUserMacroName1() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileLocation25(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonUserMacroName1() (interface{}, error) { +func (p *parser) callonFileLocation25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUserMacroName1() + return p.cur.onFileLocation25(stack["element"]) } -func (c *current) onUserMacroValue1() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileLocation96() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonUserMacroValue1() (interface{}, error) { +func (p *parser) callonFileLocation96() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUserMacroValue1() + return p.cur.onFileLocation96() } -func (c *current) onAlphanums1() (interface{}, error) { +func (c *current) onFileLocation105() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonAlphanums1() (interface{}, error) { +func (p *parser) callonFileLocation105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAlphanums1() + return p.cur.onFileLocation105() } -func (c *current) onWord2() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onFileLocation109() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonWord2() (interface{}, error) { +func (p *parser) callonFileLocation109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onWord2() + return p.cur.onFileLocation109() } -func (c *current) onWord10() (interface{}, error) { - // allow ` +func (c *current) onFileLocation115() (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) callonWord10() (interface{}, error) { +func (p *parser) callonFileLocation115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onWord10() + return p.cur.onFileLocation115() } -func (c *current) onInlineWord1() (interface{}, error) { - // TODO: also allow trailing quotes/quotation marks? - return types.NewStringElement(string(c.text)) +func (c *current) onFileLocation124() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineWord1() (interface{}, error) { +func (p *parser) callonFileLocation124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineWord1() + return p.cur.onFileLocation124() } -func (c *current) onPunctuation1(char interface{}) (interface{}, error) { - return char, nil +func (c *current) onFileLocation120(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) callonPunctuation1() (interface{}, error) { +func (p *parser) callonFileLocation120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPunctuation1(stack["char"]) + return p.cur.onFileLocation120(stack["name"]) } -func (c *current) onPunctuationCharacter1() (interface{}, error) { +func (c *current) onFileLocation134() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonPunctuationCharacter1() (interface{}, error) { +func (p *parser) callonFileLocation134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPunctuationCharacter1() + return p.cur.onFileLocation134() } -func (c *current) onAnyChar1() (interface{}, error) { +func (c *current) onFileLocation130(name interface{}) (interface{}, error) { - return types.NewStringElement(string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAnyChar1() (interface{}, error) { +func (p *parser) callonFileLocation130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAnyChar1() + return p.cur.onFileLocation130(stack["name"]) } -func (c *current) onFileLocation1(path interface{}) (interface{}, error) { - return types.NewLocation("", path.([]interface{})) +func (c *current) onFileLocation140() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonFileLocation1() (interface{}, error) { +func (p *parser) callonFileLocation140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation1(stack["path"]) + return p.cur.onFileLocation140() } -func (c *current) onLocation1(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onFileLocation101(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonLocation1() (interface{}, error) { +func (p *parser) callonFileLocation101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLocation1(stack["scheme"], stack["path"]) + return p.cur.onFileLocation101(stack["id"], stack["label"]) } -func (c *current) onLocationWithScheme1(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onFileLocation147() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonLocationWithScheme1() (interface{}, error) { +func (p *parser) callonFileLocation147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLocationWithScheme1(stack["scheme"], stack["path"]) + return p.cur.onFileLocation147() } -func (c *current) onFilename8() (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) onFileLocation143(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonFilename8() (interface{}, error) { +func (p *parser) callonFileLocation143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFilename8() + return p.cur.onFileLocation143(stack["id"]) } -func (c *current) onFilename20() (interface{}, error) { +func (c *current) onFileLocation99() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonFilename20() (interface{}, error) { +func (p *parser) callonFileLocation99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFilename20() + return p.cur.onFileLocation99() } -func (c *current) onFilename1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onFileLocation151() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonFilename1() (interface{}, error) { +func (p *parser) callonFileLocation151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFilename1(stack["elements"]) + return p.cur.onFileLocation151() } -func (c *current) onId1() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onFileLocation94(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonId1() (interface{}, error) { +func (p *parser) callonFileLocation94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onId1() + return p.cur.onFileLocation94(stack["element"]) } -func (c *current) onInteger1() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onFileLocation153() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInteger1() (interface{}, error) { +func (p *parser) callonFileLocation153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInteger1() + return p.cur.onFileLocation153() } -func (c *current) onFloat1() (interface{}, error) { - return strconv.ParseFloat(string(c.text), 64) +func (c *current) onFileLocation5(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonFloat1() (interface{}, error) { +func (p *parser) callonFileLocation5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFloat1() + return p.cur.onFileLocation5(stack["elements"]) } -func (c *current) onSpace1() (interface{}, error) { +func (c *current) onFileLocation159() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonSpace1() (interface{}, error) { +func (p *parser) callonFileLocation159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpace1() + return p.cur.onFileLocation159() } -func (c *current) onSpaces1() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - +func (c *current) onFileLocation155(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSpaces1() (interface{}, error) { +func (p *parser) callonFileLocation155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpaces1() + return p.cur.onFileLocation155(stack["ref"]) } -func (c *current) onNewline1() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFileLocation1(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) + } -func (p *parser) callonNewline1() (interface{}, error) { +func (p *parser) callonFileLocation1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNewline1() + return p.cur.onFileLocation1(stack["path"]) } var ( @@ -21549,63 +109817,6 @@ func Entrypoint(ruleName string) Option { } } -// Statistics adds a user provided Stats struct to the parser to allow -// the user to process the results after the parsing has finished. -// Also the key for the "no match" counter is set. -// -// Example usage: -// -// input := "input" -// stats := Stats{} -// _, err := Parse("input-file", []byte(input), Statistics(&stats, "no match")) -// if err != nil { -// log.Panicln(err) -// } -// b, err := json.MarshalIndent(stats.ChoiceAltCnt, "", " ") -// if err != nil { -// log.Panicln(err) -// } -// fmt.Println(string(b)) -// -func Statistics(stats *Stats, choiceNoMatch string) Option { - return func(p *parser) Option { - oldStats := p.Stats - p.Stats = stats - oldChoiceNoMatch := p.choiceNoMatch - p.choiceNoMatch = choiceNoMatch - if p.Stats.ChoiceAltCnt == nil { - p.Stats.ChoiceAltCnt = make(map[string]map[string]int) - } - return Statistics(oldStats, oldChoiceNoMatch) - } -} - -// Debug creates an Option to set the debug flag to b. When set to true, -// debugging information is printed to stdout while parsing. -// -// The default is false. -func Debug(b bool) Option { - return func(p *parser) Option { - old := p.debug - p.debug = b - return Debug(old) - } -} - -// Memoize creates an Option to set the memoize flag to b. When set to true, -// the parser will cache all results so each expression is evaluated only -// once. This guarantees linear parsing time even for pathological cases, -// at the expense of more memory and slower times for typical cases. -// -// The default is false. -func Memoize(b bool) Option { - return func(p *parser) Option { - old := p.memoize - p.memoize = b - return Memoize(old) - } -} - // AllowInvalidUTF8 creates an Option to allow invalid UTF-8 bytes. // Every invalid UTF-8 byte is treated as a utf8.RuneError (U+FFFD) // by character class matchers and is matched by the any matcher. @@ -21644,16 +109855,6 @@ func GlobalStore(key string, value interface{}) Option { } } -// InitState creates an Option to set a key to a certain value in -// the global "state" store. -func InitState(key string, value interface{}) Option { - return func(p *parser) Option { - old := p.cur.state[key] - p.cur.state[key] = value - return InitState(key, old) - } -} - // ParseFile parses the file identified by filename. func ParseFile(filename string, opts ...Option) (i interface{}, err error) { f, err := os.Open(filename) @@ -21706,11 +109907,6 @@ type current struct { pos position // start position of the match text []byte // raw text of the match - // state is a store for arbitrary key,value pairs that the user wants to be - // tied to the backtracking of the parser. - // This is always rolled back if a parsing rule fails. - state storeDict - // globalStore is a general store for the user to store arbitrary key-value // pairs that they need to manage and that they do not want tied to the // backtracking of the parser. This is only modified by the user and never @@ -21785,11 +109981,6 @@ type ruleRefExpr struct { name string } -type stateCodeExpr struct { - pos position - run func(*parser) error -} - type andCodeExpr struct { pos position run func(*parser) (bool, error) @@ -21893,7 +110084,6 @@ func newParser(filename string, b []byte, opts ...Option) *parser { pt: savepoint{position: position{line: 1}}, recover: true, cur: current{ - state: make(storeDict), globalStore: make(storeDict), }, maxFailPos: position{col: 1, line: 1}, @@ -21958,12 +110148,6 @@ type parser struct { depth int recover bool - debug bool - - memoize bool - // memoization table for the packrat algorithm: - // map[offset in source] map[expression or rule] {value, match} - memo map[int]map[interface{}]resultTuple // rules table, maps the rule identifier to the rule node rules map[string]*rule @@ -22048,26 +110232,6 @@ func (p *parser) popRecovery() { p.recoveryStack = p.recoveryStack[:len(p.recoveryStack)-1] } -func (p *parser) print(prefix, s string) string { - if !p.debug { - return s - } - - fmt.Printf("%s %d:%d:%d: %s [%#U]\n", - prefix, p.pt.line, p.pt.col, p.pt.offset, s, p.pt.rn) - return s -} - -func (p *parser) in(s string) string { - p.depth++ - return p.print(strings.Repeat(" ", p.depth)+">", s) -} - -func (p *parser) out(s string) string { - p.depth-- - return p.print(strings.Repeat(" ", p.depth)+"<", s) -} - func (p *parser) addErr(err error) { p.addErrAt(err, p.pt.position, []string{}) } @@ -22136,93 +110300,17 @@ func (p *parser) read() { // restore parser position to the savepoint pt. func (p *parser) restore(pt savepoint) { - if p.debug { - defer p.out(p.in("restore")) - } if pt.offset == p.pt.offset { return } p.pt = pt } -// Cloner is implemented by any value that has a Clone method, which returns a -// copy of the value. This is mainly used for types which are not passed by -// value (e.g map, slice, chan) or structs that contain such types. -// -// This is used in conjunction with the global state feature to create proper -// copies of the state to allow the parser to properly restore the state in -// the case of backtracking. -type Cloner interface { - Clone() interface{} -} - -var statePool = &sync.Pool{ - New: func() interface{} { return make(storeDict) }, -} - -func (sd storeDict) Discard() { - for k := range sd { - delete(sd, k) - } - statePool.Put(sd) -} - -// clone and return parser current state. -func (p *parser) cloneState() storeDict { - if p.debug { - defer p.out(p.in("cloneState")) - } - - state := statePool.Get().(storeDict) - for k, v := range p.cur.state { - if c, ok := v.(Cloner); ok { - state[k] = c.Clone() - } else { - state[k] = v - } - } - return state -} - -// restore parser current state to the state storeDict. -// every restoreState should applied only one time for every cloned state -func (p *parser) restoreState(state storeDict) { - if p.debug { - defer p.out(p.in("restoreState")) - } - p.cur.state.Discard() - p.cur.state = state -} - // get the slice of bytes from the savepoint start to the current position. func (p *parser) sliceFrom(start savepoint) []byte { return p.data[start.position.offset:p.pt.position.offset] } -func (p *parser) getMemoized(node interface{}) (resultTuple, bool) { - if len(p.memo) == 0 { - return resultTuple{}, false - } - m := p.memo[p.pt.offset] - if len(m) == 0 { - return resultTuple{}, false - } - res, ok := m[node] - return res, ok -} - -func (p *parser) setMemoized(pt savepoint, node interface{}, tuple resultTuple) { - if p.memo == nil { - p.memo = make(map[int]map[interface{}]resultTuple) - } - m := p.memo[pt.offset] - if m == nil { - m = make(map[interface{}]resultTuple) - p.memo[pt.offset] = m - } - m[node] = tuple -} - func (p *parser) buildRulesTable(g *grammar) { p.rules = make(map[string]*rule, len(g.rules)) for _, r := range g.rules { @@ -22244,9 +110332,6 @@ func (p *parser) parse(g *grammar) (val interface{}, err error) { // and return the panic as an error. defer func() { if e := recover(); e != nil { - if p.debug { - defer p.out(p.in("panic handler")) - } val = nil switch e := e.(type) { case error: @@ -22308,45 +110393,15 @@ func listJoin(list []string, sep string, lastSep string) string { } func (p *parser) parseRule(rule *rule) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseRule " + rule.name)) - } - - if p.memoize { - res, ok := p.getMemoized(rule) - if ok { - p.restore(res.end) - return res.v, res.b - } - } - - start := p.pt p.rstack = append(p.rstack, rule) p.pushV() val, ok := p.parseExpr(rule.expr) p.popV() p.rstack = p.rstack[:len(p.rstack)-1] - if ok && p.debug { - p.print(strings.Repeat(" ", p.depth)+"MATCH", string(p.sliceFrom(start))) - } - - if p.memoize { - p.setMemoized(start, rule, resultTuple{val, ok, p.pt}) - } return val, ok } func (p *parser) parseExpr(expr interface{}) (interface{}, bool) { - var pt savepoint - - if p.memoize { - res, ok := p.getMemoized(expr) - if ok { - p.restore(res.end) - return res.v, res.b - } - pt = p.pt - } p.ExprCnt++ if p.ExprCnt > p.maxExprCnt { @@ -22384,8 +110439,6 @@ func (p *parser) parseExpr(expr interface{}) (interface{}, bool) { val, ok = p.parseRuleRefExpr(expr) case *seqExpr: val, ok = p.parseSeqExpr(expr) - case *stateCodeExpr: - val, ok = p.parseStateCodeExpr(expr) case *throwExpr: val, ok = p.parseThrowExpr(expr) case *zeroOrMoreExpr: @@ -22395,74 +110448,46 @@ func (p *parser) parseExpr(expr interface{}) (interface{}, bool) { default: panic(fmt.Sprintf("unknown expression type %T", expr)) } - if p.memoize { - p.setMemoized(pt, expr, resultTuple{val, ok, p.pt}) - } return val, ok } func (p *parser) parseActionExpr(act *actionExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseActionExpr")) - } - start := p.pt val, ok := p.parseExpr(act.expr) if ok { p.cur.pos = start.position p.cur.text = p.sliceFrom(start) - state := p.cloneState() actVal, err := act.run(p) if err != nil { p.addErrAt(err, start.position, []string{}) } - p.restoreState(state) val = actVal } - if ok && p.debug { - p.print(strings.Repeat(" ", p.depth)+"MATCH", string(p.sliceFrom(start))) - } return val, ok } func (p *parser) parseAndCodeExpr(and *andCodeExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseAndCodeExpr")) - } - - state := p.cloneState() ok, err := and.run(p) if err != nil { p.addErr(err) } - p.restoreState(state) return nil, ok } func (p *parser) parseAndExpr(and *andExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseAndExpr")) - } - pt := p.pt - state := p.cloneState() p.pushV() _, ok := p.parseExpr(and.expr) p.popV() - p.restoreState(state) p.restore(pt) return nil, ok } func (p *parser) parseAnyMatcher(any *anyMatcher) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseAnyMatcher")) - } - if p.pt.rn == utf8.RuneError && p.pt.w == 0 { // EOF - see utf8.DecodeRune p.failAt(false, p.pt.position, ".") @@ -22475,10 +110500,6 @@ func (p *parser) parseAnyMatcher(any *anyMatcher) (interface{}, bool) { } func (p *parser) parseCharClassMatcher(chr *charClassMatcher) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseCharClassMatcher")) - } - cur := p.pt.rn start := p.pt @@ -22540,50 +110561,22 @@ func (p *parser) parseCharClassMatcher(chr *charClassMatcher) (interface{}, bool return nil, false } -func (p *parser) incChoiceAltCnt(ch *choiceExpr, altI int) { - choiceIdent := fmt.Sprintf("%s %d:%d", p.rstack[len(p.rstack)-1].name, ch.pos.line, ch.pos.col) - m := p.ChoiceAltCnt[choiceIdent] - if m == nil { - m = make(map[string]int) - p.ChoiceAltCnt[choiceIdent] = m - } - // We increment altI by 1, so the keys do not start at 0 - alt := strconv.Itoa(altI + 1) - if altI == choiceNoMatch { - alt = p.choiceNoMatch - } - m[alt]++ -} - func (p *parser) parseChoiceExpr(ch *choiceExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseChoiceExpr")) - } - for altI, alt := range ch.alternatives { // dummy assignment to prevent compile error if optimized _ = altI - state := p.cloneState() - p.pushV() val, ok := p.parseExpr(alt) p.popV() if ok { - p.incChoiceAltCnt(ch, altI) return val, ok } - p.restoreState(state) } - p.incChoiceAltCnt(ch, choiceNoMatch) return nil, false } func (p *parser) parseLabeledExpr(lab *labeledExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseLabeledExpr")) - } - p.pushV() val, ok := p.parseExpr(lab.expr) p.popV() @@ -22595,10 +110588,6 @@ func (p *parser) parseLabeledExpr(lab *labeledExpr) (interface{}, bool) { } func (p *parser) parseLitMatcher(lit *litMatcher) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseLitMatcher")) - } - start := p.pt for _, want := range lit.val { cur := p.pt.rn @@ -22617,44 +110606,27 @@ func (p *parser) parseLitMatcher(lit *litMatcher) (interface{}, bool) { } func (p *parser) parseNotCodeExpr(not *notCodeExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseNotCodeExpr")) - } - - state := p.cloneState() - ok, err := not.run(p) if err != nil { p.addErr(err) } - p.restoreState(state) return nil, !ok } func (p *parser) parseNotExpr(not *notExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseNotExpr")) - } - pt := p.pt - state := p.cloneState() p.pushV() p.maxFailInvertExpected = !p.maxFailInvertExpected _, ok := p.parseExpr(not.expr) p.maxFailInvertExpected = !p.maxFailInvertExpected p.popV() - p.restoreState(state) p.restore(pt) return nil, !ok } func (p *parser) parseOneOrMoreExpr(expr *oneOrMoreExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseOneOrMoreExpr")) - } - var vals []interface{} for { @@ -22673,9 +110645,6 @@ func (p *parser) parseOneOrMoreExpr(expr *oneOrMoreExpr) (interface{}, bool) { } func (p *parser) parseRecoveryExpr(recover *recoveryExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseRecoveryExpr (" + strings.Join(recover.failureLabel, ",") + ")")) - } p.pushRecovery(recover.failureLabel, recover.recoverExpr) val, ok := p.parseExpr(recover.expr) @@ -22685,10 +110654,6 @@ func (p *parser) parseRecoveryExpr(recover *recoveryExpr) (interface{}, bool) { } func (p *parser) parseRuleRefExpr(ref *ruleRefExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseRuleRefExpr " + ref.name)) - } - if ref.name == "" { panic(fmt.Sprintf("%s: invalid rule: missing name", ref.pos)) } @@ -22702,18 +110667,12 @@ func (p *parser) parseRuleRefExpr(ref *ruleRefExpr) (interface{}, bool) { } func (p *parser) parseSeqExpr(seq *seqExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseSeqExpr")) - } - vals := make([]interface{}, 0, len(seq.exprs)) pt := p.pt - state := p.cloneState() for _, expr := range seq.exprs { val, ok := p.parseExpr(expr) if !ok { - p.restoreState(state) p.restore(pt) return nil, false } @@ -22722,22 +110681,7 @@ func (p *parser) parseSeqExpr(seq *seqExpr) (interface{}, bool) { return vals, true } -func (p *parser) parseStateCodeExpr(state *stateCodeExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseStateCodeExpr")) - } - - err := state.run(p) - if err != nil { - p.addErr(err) - } - return nil, true -} - func (p *parser) parseThrowExpr(expr *throwExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseThrowExpr")) - } for i := len(p.recoveryStack) - 1; i >= 0; i-- { if recoverExpr, ok := p.recoveryStack[i][expr.label]; ok { @@ -22751,10 +110695,6 @@ func (p *parser) parseThrowExpr(expr *throwExpr) (interface{}, bool) { } func (p *parser) parseZeroOrMoreExpr(expr *zeroOrMoreExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseZeroOrMoreExpr")) - } - var vals []interface{} for { @@ -22769,10 +110709,6 @@ func (p *parser) parseZeroOrMoreExpr(expr *zeroOrMoreExpr) (interface{}, bool) { } func (p *parser) parseZeroOrOneExpr(expr *zeroOrOneExpr) (interface{}, bool) { - if p.debug { - defer p.out(p.in("parseZeroOrOneExpr")) - } - p.pushV() val, _ := p.parseExpr(expr.expr) p.popV() diff --git a/pkg/parser/parser.peg b/pkg/parser/parser.peg index 9116c027..82a7fc40 100644 --- a/pkg/parser/parser.peg +++ b/pkg/parser/parser.peg @@ -1786,8 +1786,8 @@ Callout <- CalloutListElement <- ref:(CalloutListElementPrefix) - description:(CalloutListElementContent) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) + description:(ListElementContent) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } CalloutListElementPrefix <- @@ -1795,14 +1795,6 @@ CalloutListElementPrefix <- return ref, nil } -CalloutListElementContent <- // TODO: remove in favor of `ListElementContent` - rawline:([^\r\n]+ { - return string(c.text), nil - }) - EOL { - return types.NewRawLine(rawline.(string)) - } - // ----------------------------------------------------------------------------------------------------------------------- // Paragraphs // ----------------------------------------------------------------------------------------------------------------------- diff --git a/pkg/types/types.go b/pkg/types/types.go index 74cc26d9..f3ee5b45 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -1027,16 +1027,12 @@ var _ ListElement = &CalloutListElement{} var _ DocumentElement = &CalloutListElement{} // NewCalloutListElement returns a new CalloutListElement -func NewCalloutListElement(ref int, content RawLine) (*CalloutListElement, error) { +func NewCalloutListElement(ref int, content *Paragraph) (*CalloutListElement, error) { return &CalloutListElement{ Attributes: nil, Ref: ref, Elements: []interface{}{ - &Paragraph{ - Elements: []interface{}{ - content, - }, - }, + content, }, }, nil }